8

以下のスクリプトを使用して関数を作成していますが、メッセージ ログにエラーが記録されます。

CREATE FUNCTION [dbo].[MyFunction] () RETURNS BIT AS RETURN CAST(1 AS BIT) 

メッセージ 102、レベル 15、状態 31、プロシージャ MyFunction、行 1 'RETURN' 付近の構文が正しくありません。

これを変更してテーブルを返すと機能します。

CREATE FUNCTION [dbo].[MyFunction] () RETURNS TABLE AS RETURN (SELECT 1 [1])

だから私は何が間違っているのか分かりません。これがテーブルでは機能するのに、少しでは機能しないのはなぜですか?

4

1 に答える 1

14

次のように構文を変更して、begin と end を含めます。

CREATE FUNCTION [dbo].[MyFunction]()
RETURNS bit 
AS 
begin 
RETURN CAST(1 AS bit) 
end
于 2013-06-10T16:52:47.593 に答える