Sql server从两个差异表中将一个表中的值插入一个表中?

时间:2013-08-23 13:23:26

标签: sql-server

我有这些表tbl_Userstbl_prepaidtbl_Expire

我在tbl_Prepaid上使用触发器从tbl_Prepaid删除卡号,并在输入后立即将其插入tbl_Expire

现在我想在同一触发器中将userIDtbl_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  

1 个答案:

答案 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);