我有这些表tbl_Users
,tbl_prepaid
和tbl_Expire
。
我在tbl_Prepaid
上使用触发器从tbl_Prepaid
删除卡号,并在输入后立即将其插入tbl_Expire
。
现在我想在同一触发器中将userID
从tbl_Users
移到tbl_Expire
。
我怎么做?
这是我到目前为止所做的:
alter TRIGGER trgAfterUpdate ON [dbo].[tbl_Prepaid]
FOR UPDATE
AS
declare @id_ppaid int;
declare @serial nvarchar(100);
declare @balance nvarchar(100);
declare @price int;
select @id_ppaid=i.id from inserted i;
select @serial=i.serial from inserted i;
select @balance=i.balance from inserted i;
select @price=i.price from inserted i;
if update(used)
insert into tbl_Expire(id_Pripaid,serial,balance,price)
values(@id_ppaid,@serial,@balance,@price);
delete from tbl_Prepaid where id=@id_ppaid;
PRINT 'After updates trigger fired.'
GO
答案 0 :(得分:0)
只需从所需表中的变量中获取userid的值,然后在insert语句中添加变量(@userid):
Declare @userid int
Select @userid=userid from tablename
insert into tbl_Expire(id_Pripaid,serial,balance,price,userid)
values(@id_ppaid,@serial,@balance,@price,@userid);