创建函数时,sql server中的语法接近错误

时间:2016-03-09 10:06:58

标签: sql-server function tsql 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

这给了我一个错误 -

  

'start'附近的语法不正确。

我无法确定错误原因。

1 个答案:

答案 0 :(得分:4)

更正inline 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
多语句UDF需要

BEGINEND