6

我是 SQL 新手,试图在 MS SQL 2008R2 中创建函数,但不能在函数内声明变量。这段代码有什么问题?

CREATE FUNCTION denominator() RETURNS int
BEGIN
    DECLARE @Count;
    -- Some logic here
END;

GO
SELECT dbo.denominator()

DROP FUNCTION denominator

我遇到了这种错误:

Msg 102, Level 15, State 1, Procedure denominator, Line 3
Incorrect syntax near ';'.
Msg 4121, Level 16, State 1, Line 1
Cannot find either column "dbo" or the user-defined function or aggregate "dbo.denominator", or the name is ambiguous.
4

3 回答 3

10

你需要这样写,变量的数据类型丢失

DECLARE @Count int;
于 2013-01-11T14:49:15.353 回答
2

您声明的@Count没有数据类型,您应该提供它。

DECLARE @Count int
于 2013-01-11T14:49:34.043 回答
1

变量@Count 没有数据类型。使用这个:

Declare @Count int

不要忘记在函数中添加RETURN关键字

于 2013-01-13T17:23:31.957 回答