TSQL:函数名附近的语法不正确

时间:2015-01-20 08:59:58

标签: sql-server tsql

我有这个:(更新)

IF OBJECT_ID (N'dbo.fn_getProductCatPurchased', N'IF') IS NOT NULL
DROP FUNCTION [dbo].fn_getProductCatPurchased;
GO

然后函数开始:

CREATE FUNCTION [dbo].fn_getProductCatPurchased
(
@Custno varchar(100), 
@PriceType varchar(100)
)

RETURNS int 
AS 

BEGIN
    DECLARE @groups int;
    SELECT @groups = COUNT(DISTINCT(prodcat)) 
    FROM SALES 
    WHERE custno = @Custno 
        AND pricetype=@PriceType
     IF (@group IS NULL) 
        SET @group = 0;
    RETURN @group;
  END;
  GO

当我尝试保存该函数时,抛出了错误:

Incorrect syntax near fn_getProductCatPurchased

我做错了什么?

1 个答案:

答案 0 :(得分:1)

不确定这是否是导致错误的原因,但这肯定是个问题。

您正在声明一个名为@groups的变量:

DECLARE @groups int;

但请继续使用@group而不是s

IF (@group IS NULL) 
    SET @group = 0;
RETURN @group;