t-sql中的奇怪语法错误

时间:2013-02-04 16:10:10

标签: sql-server tsql

我正在尝试编写一个从一个表中删除记录的查询,并将删除的记录输出到另一个类似(但不完全相同)的表中。

这段代码就是我想要做的:

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的错误信息似乎没有意义 - 所以我不知道该怎么做。

  1. 为什么t-sql会抛出这个奇怪的错误?为什么它有时会在sys.servers中“看到”MyServer而不是其他时间?

  2. 将特定列的已删除值输出到新表的正确语法是什么

1 个答案:

答案 0 :(得分:1)

在语法中使用3 .时,您指定server.database.schema.table。您试图在末尾添加无效的列。摆脱.colA