将数据插入非固定列SQL Server

时间:2018-04-21 17:10:39

标签: sql-server triggers

我想触发将数据插入非固定列。

我尝试过这段代码:

create trigger UPPLANtoTOTAL 
on [UP_PLAN]
for insert
as
begin
    set nocount on

    declare @ucode varchar(10) = (select CODE from inserted)
    declare @dd int = (select dd from UP_PLAN where CODE = @ucode)
    declare @qty decimal(18, 9) = (select QTY from UP_PLAN where CODE = @ucode)

    insert into TOTAL (CODE, COL + @dd + ) 
    values (@ucode, @qty)
end

但是SQL Server显示错误:

  

[Microsoft] [SQL Server Native Client 11.0] [SQL Server]'+'附近的语法不正确。

1 个答案:

答案 0 :(得分:0)

詹姆斯Z是对的,你不能那样做。尝试将查询构建为字符串,然后使用EXECUTEsp_executesql或其他最适合的方式执行。但是这些事情往往指向数据库设计中的缺陷。也许这是可以改进的,毕竟可以避免对动态SQL的需求。