我正在尝试编写一个查询,从一个表中删除记录并将删除的记录输出到另一个类似(但不相同)的表中。
这段代码是我想要做的:
delete from MyServer.dbo.t1
output deleted.colA into MyServer.dbo.t2.colA
它引发错误,在 sys.servers 中找不到服务器“MyServer”。
但是,我能够运行这个(基本上没有操作)代码(使用有效的服务器名称):
delete from MyServer.dbo.t1
output deleted.* into MyServer.dbo.t1
所以基本上t-sql的错误信息似乎没有意义——所以我不知道该怎么办。
为什么 t-sql 会抛出这个奇怪的错误?为什么它有时可以“看到” sys.servers 中的 MyServer 而其他时候却看不到?
将特定列的已删除值输出到新表中的正确语法是什么