我想触发将数据插入非固定列。
我尝试过这段代码:
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]'+'附近的语法不正确。
答案 0 :(得分:0)
詹姆斯Z是对的,你不能那样做。尝试将查询构建为字符串,然后使用EXECUTE
或sp_executesql
或其他最适合的方式执行。但是这些事情往往指向数据库设计中的缺陷。也许这是可以改进的,毕竟可以避免对动态SQL的需求。