在select语句中动态使用WHERE子句

时间:2016-09-11 09:19:40

标签: sql-server-2008

我希望使用带有来自用户输入的user_id子句的balance语句来获取特定SELECTWHERE

这是我在SQL Server 2008中的触发器:

create trigger trig_trans
on user_accnt after update
as
begin
    declare @id int
    declare @balance int
    declare @transdate date

    select @id = user_id, @balance = user_bal 
    from user_accnt

    merge user_trans target
    using user_accnt source on target.user_id = source.user_id

    when matched then
       update set trans_date = getdate(),
                  balance = @balance

    when not matched then
       insert (user_id, trans_date, balance)
       values(@id, getdate(), @balance);
end

在这个SELECT语句中,我想使用WHERE子句。

select @id = user_id, @balance = user_bal 
from user_accnt

例如:如果我正在使用

select @id = user_id, @balance = user_bal 
from user_accnt 
where account_num = 123456

我会得到结果。

但在我的情况下,我的查询应从用户输入中获取account_num

有没有办法做到这一点?

0 个答案:

没有答案