首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

自定义函数不能赋值,该如何处理

2014-01-22 
自定义函数不能赋值ALTER FUNCTION IsPackInReplenish(@PromotorPackNo varchar(32),@ReplenishID int)RET

自定义函数不能赋值

ALTER FUNCTION IsPackInReplenish
(
   @PromotorPackNo varchar(32),
   @ReplenishID int
)
RETURNS BIT 
AS
BEGIN
--DECLARE @PromotorPackNo varchar(32)
--DECLARE @ReplenishID int
--SELECT @PromotorPackNo='YP201401130000'
--SELECT @ReplenishID = 7

DECLARE @Result bit

-- 查找添补明细表中分包是否存在
DECLARE @ID int

SELECT @ID=ID FROM ReplenishItem WHERE (PromotorPackNo = @PromotorPackNo) AND (ReplenishmentID = @ReplenishID)

IF @ID>0
BEGIN
SET @Result = 1
END
ELSE
BEGIN
SET @Result = 0
END

  RETURN @Result
END


SELECT @ID=ID FROM ReplenishItem WHERE (PromotorPackNo = @PromotorPackNo) AND (ReplenishmentID = @ReplenishID)
这句话中不能给@ID赋值,请问各位大侠,为什么呢?
[解决办法]
SELECT @ID=ID FROM ReplenishItem WHERE (PromotorPackNo = @PromotorPackNo) AND (ReplenishmentID = @ReplenishID)
这句之前你定义了@id这个变量没有?
[解决办法]
函数是对的吧
SELECT ID FROM ReplenishItem WHERE (PromotorPackNo = @PromotorPackNo) AND (ReplenishmentID = @ReplenishID)

这条语句能查询到数据么?

热点排行