以下是一个简单的SQL示例,它返回了一个错误。
这是一个传递给表值函数的表类型:
返回的错误是:
任何建议都将不胜感激。
这是一个传递给表值函数的表类型:
CREATE TYPE Ids
AS TABLE
(
Id int NOT NULL,
PRIMARY KEY( Id )
);
GO
以下是失败的表值函数:
CREATE FUNCTION GetIds
(
@ids -- or null
Ids READONLY
)
RETURNS
@result
TABLE
(
EachId int
)
AS
BEGIN
IF @ids IS NOT NULL
INSERT INTO @result
SELECT Id
FROM @ids;
RETURN;
END;
GO
返回的错误是:
我读到过一些帖子,说当SQL兼容性级别太低时会发生这种情况,但以下内容返回100:Msg 137,级别16,状态1,过程GetIds,行28
必须声明标量变量“@ids”。
SELECT compatibility_level
FROM sys.databases
WHERE name = 'TheDatabaseName';
任何建议都将不胜感激。
declare @ids table(Ids int)
。 - S.Visser