22,209
社区成员
发帖
与我相关
我的任务
分享
CREATE PROCEDURE cardtocard
(
@ccardno1 VARCHAR(20)
,@ccardno2 VARCHAR(20)
)
AS
BEGIN
DECLARE @card1yue INT
DECLARE @card2yue INT
DECLARE @hzname VARCHAR(40)
DECLARE @tbname VARCHAR(40)
DECLARE @sql1 NVARCHAR(4000)--sql2005以上版本建议用NVARCHAR(max)
IF ( ( SELECT luserl
FROM S_UserParament
WHERE citem = '9-175'
) = 1 )
BEGIN
SELECT @hzname = cdbname
FROM master..ciouser
WHERE lsum = 1
SET @tbname = @hzname + '..R_Remind'
SET @sql1 = 'update ' + @tbname + ' set @yue1 = nyczje,nyczje=0 where ccardno= @ccardno1;'
+ 'update ' + @tbname + ' set @yue2 = nyczje,nyczje=nyczje + @yue1 where ccardno= @ccardno2 ;'
EXEC sp_executesql @sql1, N' @ccardno1 VARCHAR(20),@ccardno2 VARCHAR(20),@yue1 int output,@yue2 int output',
@ccardno1,@ccardno2,@card1yue OUTPUT ,@card2yue OUTPUT
SELECT @card1yue,@card2yue
END
ELSE
BEGIN
UPDATE R_Remind
SET @card1yue = nyczje,nYCZJE = 0
WHERE cCardNo = @ccardno1
UPDATE R_Remind
SET nYCZJE = nyczje + @card1yue
WHERE cCardNo = @ccardno2
END
END
GO