无法在函数MS SQL中声明变量

时间:2013-01-11 14:47:42

标签: sql sql-server-2008 tsql user-defined-functions

我是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.

3 个答案:

答案 0 :(得分:9)

你需要像这样写,缺少变量的数据类型

DECLARE @Count int;

答案 1 :(得分:1)

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

DECLARE @Count int

答案 2 :(得分:0)

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

Declare @Count int

不要忘记在函数

中添加 RETURN 关键字