我需要在SQL Server中插入新记录(在此新记录中更新)后更新列U_DIGIT
。我认为最好的方法是使用触发器在插入的记录中执行此操作,但它应仅在ORIGIN
列中具有“OL”的新记录中完成。
我尝试了这段代码,但它不起作用。请帮忙。感谢。
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
答案 0 :(得分:0)
我认为反斜杠是这里的问题。你需要摆脱它。
试试这个:
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