创造功能

时间:2017-02-11 17:51:16

标签: sql-server ssms-2012

SSMS一直给我一个系统错误:

  

语法不正确:CREATE FUNCTION必须是批处理

中的唯一语句

我不知道自己做错了什么:(请帮助

CREATE FUNCTION fx_avgVacationHrs 
    (@whatgender varchar(5))
RETURNS INT
AS
BEGIN
    RETURN 
        (SELECT AVG(VacationHours) AS AvgVacationhrsbyGender
         FROM HumanResources.Employee
         WHERE Gender = @whatgender)
END

SELECT dbo.fx_avgVacationHrs('F')

2 个答案:

答案 0 :(得分:0)

我想知道你发布的剧本之前是否有任何陈述。

你能试着把“;”在CREATE FUNCTION语句之前?如果它停止抱怨这意味着你在本节之前有其他声明。

请告诉我们。

答案 1 :(得分:0)

SELECT * FROM HumanResources.Employee

创建功能fn_GetUserID

(@ businessentityID int) 退货varchar(30) 如 BEGIN
        DECLARE @UserID varchar(30)         SET @UserID =(SELECT SUBSTRING(LoginID,CHARINDEX('\',LoginID)+1,10)         来自HumanResources.Employee         WHERE BusinessEntityID = @businessentityID)

    RETURN @UserID

END