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

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.

为什么你不使用Postgres或MySQL数据库?我认为它会给你带来巨大的利润。 - bmalets
3个回答

10

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

DECLARE @Count int;

2

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

DECLARE @Count int

1
变量@Count没有数据类型。请使用以下代码:
Declare @Count int

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接