【发布时间】:2015-03-18 10:29:39
【问题描述】:
我有这个:(更新)
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
我做错了什么?
【问题讨论】:
-
还有其他东西会产生这个错误,你自己提供的代码完全符合我执行它时应该做的。请提供有关您正在做什么的更多信息。
-
您是从 SQL Server Management Studio 还是其他地方执行此操作?
GO不是 T-SQL。 -
我现在已经更新了代码。如果我删除 GO - 它是一样的 :)
-
对我来说编译成功。
-
您正在尝试删除内联表函数,但您的函数未返回表。尝试使用 FN OBJECT_ID (N'dbo.fn_getProductCatPurchased', N'FN') IS NOT NULL
标签: sql-server tsql