我正在尝试创建一个触发器,以将我从表中删除的所有值插入“备份”表中, 例如:
main
我希望触发器执行的操作:将表1中已删除的值插入“表2”中。
我尝试过这样:
Table 1: NomePilota, ModelloVettura, NomeScuderia
BackupTable1 (Table 2): NomePilota, ModelloVettura, NomeScuderia
但是它发送了一个错误:
无法在@ Pilota,@ Vet,@ Scud中插入多个记录
我该如何解决?被删除的表是否已经有一个默认ID列,可以像for中那样使用?我可以使用矢量吗? (例如CREATE TRIGGER Backup ON dbo.Table1 AFTER (i can only use after) DELETE AS
BEGIN
DECLARE @Pilota VARCHAR(20) = (SELECT NomePilota FROM deleted)
DECLARE @Vettura VARCHAR(50) = (SELECT ModelloVettura FROM deleted)
DECLARE @Scuderia VARCHAR(20) = (SELECT NomeScuderia FROM deleted)
INSERT INTO Table2 (NomePilota, ModelloVettura, NomeScuderia) VALUES (@Pilota, @Vettura, @Scuderia)
,@Nome[] = SELECT * FROM Tabella
[@ Numero(数字是Nome的记录号)。)
答案 0 :(得分:3)
为什么不让生活变得简单?
INSERT INTO Table2 (NomePilota, ModelloVettura, NomeScuderia)
SELECT NomePilota, ModelloVettura, NomeScuderia FROM deleted
insert语句可以处理select的结果-在这里我们利用它来简化手头的任务。