Вставка данных в нефиксированный столбец SQL Server

Hoan спросил: 28 марта 2018 в 03:30 в: sql-server

Я хочу сделать триггер для вставки данных в нефиксированный столбец.

Я пробовал с этим кодом:

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 11.0] [SQL Server] Неверный синтаксис рядом с "+".

1 ответ

sticky bit ответил: 28 марта 2018 в 04:04

Джеймс З прав, ты не можешь так поступить. Попробуйте создать запрос в виде строки, а затем выполните его с помощью EXECUTE или sp_executesql или с тем, что вам больше подходит. Но такие вещи, как правило, указывают на недостаток в дизайне базы данных. Возможно, это невозможно, и в конце концов можно избежать необходимости в этом динамическом SQL.

Hoan ответил: 28 марта 2018 в 01:36
Спасибо всем за вашу поддержку. Я попробую @sticky немного предложения