4
我建立我的第一个标量函数(MS SQL服务器),我得到这个错误:SQL标量函数,如何不使用select语句
“包含一个函数内不能将数据返回到客户端Select语句。 “
我明白我不能使用select语句,但是如何获取信息呢?
功能将显示,如果学生已研究并通过基本科目,并以这种方式工作:
参数ID是一个通用ID这使我从学生表的studentid。 然后,从表格主题我得到这样的主题。给定kindOfSubject参数的函数getKindOfSubjectStudied将显示学生通过的主题是否是基本的。如果是这样,结果将为1,否则将为0.
所有查询单独测试工作,没有错误。
下面是解释的功能代码。
非常感谢
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
USE MYDBASE
GO
CREATE FUNCTION [dbo].[getStudentHasElementary]
(
-- paramenter
@id int
)
RETURNS INTEGER
AS
BEGIN
DECLARE @Result AS INTEGER
DECLARE @return_value varchar (50)
SELECT studentsid
FROM dbo.Students
WHERE (id = id)
SELECT kindOfSubject
FROM dbo.Subjects
WHERE (studentsid = studentsid)
--- I use this function to know if the subject is elementary
EXEC @return_value = [dbo].[getKindOfSubjectStudied]
@id = id,
@kindOfSubject = kindOfSubject;
SELECT 'Return Value' = @return_value
IF (@return_value = 'elementary')
BEGIN
SET @Result = 1
END
ELSE
BEGIN
SET @Result = 0
END
RETURN @Result
END
我假设MS SQL Server? – MatBailie 2011-12-16 14:03:36
这是功课吗? – Aaron 2011-12-16 14:04:52