创建函数时SQL Server中的Begin附近的语法不正确

Tan*_*ain 1 t-sql sql-server function sql-function

我陷入了一个无法解决的小问题。

CREATE FUNCTION dbo.fntblPsmHaendlerDailyCostsinfodump(@pDateString varchar(8), @HaendlerID int, @TableName varchar(100),@CountryID int)
RETURNS table
AS BEGIN
RETURN select top 10 * from tblcountry
END
GO
Run Code Online (Sandbox Code Playgroud)

这给我一个错误-

“开始附近的语法不正确”。

我无法确定为什么会出现错误。

Luk*_*zda 5

内联UDF的正确语法:

内联用户定义函数遵循以下规则:

  • 没有由BEGIN和END分隔的function_body。
  • RETURN子句在括号中包含一个SELECT语句。
CREATE FUNCTION dbo.fntblPsmHaendlerDailyCostsinfodump(
     @pDateString varchar(8),
     @HaendlerID int,
     @TableName varchar(100),
     @CountryID int)
RETURNS table
AS
RETURN (select top 10 * from tblcountry);
GO
Run Code Online (Sandbox Code Playgroud)

BEGIN并且END是必要的UDF的多语句。