我们正在将 DB2 迁移到 SQL Server,并且需要迁移许多 BEFORE 插入/更新。我们可以通过简单地使用命令“INSERT INTO TableName SELECT * FROM inserted”来使用 INSTEAD OF INSERT 来非常简单地处理插入。
但是,对于更新,它更难,因为您不能只执行“UDPATE TableName SELECT * FROM Inserted”之类的命令。相反,我们发现的唯一选择是为每个传入列声明变量,然后在UPDATE TableName SET ColumnName = @col1, etc. 不幸的是,这会导致相当多的手动工作,我想找到一个更自动化的解决方案。
一些问题:1)有没有一种方法可以在不知道特定列信息的情况下使用从触发器中插入来发出更新?
2) 有没有办法在触发器中编写一个循环,自动单步执行插入的列,并将这些列更新到数据库?3)有没有办法访问导致触发器的原始命令?所以我可以执行 EXEC @command 并以这种方式处理事情吗?
任何帮助将不胜感激!
谢谢!鲍勃