Вставка триггера SQL Server (для обновления вставленной строки) - PullRequest
0 голосов
/ 19 мая 2018

Мне нужно обновить столбец U_DIGIT после вставки новой записи (обновления в эту новую запись) в SQL Server.Я думаю, что лучший способ - использовать триггер, чтобы сделать это во вставленных записях, но это должно быть сделано только в новых записях, имеющих 'OL' в столбце ORIGIN.

Я попробовал этот код,но это не работаетНужна помощь, пожалуйста.Спасибо.

CREATE TRIGGER tr_ol_ins_digit 
ON ol
AFTER INSERT
AS 
BEGIN
    SET NOCOUNT ON;

    UPDATE ol
    SET u_digit = 'path\' + cast(OL.OLID as varchar(8)) + '.PDF'
    WHERE olstamp IN (SELECT olstamp 
                      FROM inserted 
                      WHERE origin = 'OL')
END
GO

1 Ответ

0 голосов
/ 19 мая 2018

Я думаю, что обратная косая черта здесь проблема.Вам нужно избежать этого.

Попробуйте это:

CREATE TRIGGER tr_ol_ins_digit 
ON  ol
AFTER INSERT
AS 
BEGIN
  SET NOCOUNT ON;

  update ol
  set u_digit = 'path\\' + cast(OL.OLID as varchar(8)) + '.PDF'
  where olstamp in (select olstamp from inserted where origin = 'OL')

END
GO
...