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