1

あるテーブルからレコードを削除し、削除されたレコードを別の同様の(ただし同一ではない)テーブルに出力するクエリを作成しようとしています。

このコードは私がやろうとしていることです:

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. 特定の列の削除された値を新しいテーブルに出力するための正しい構文は何ですか

4

1 に答える 1

1

.構文で3を使用する場合は、を指定してserver.database.schema.tableいます。動作しない最後に列を追加しようとしています。を取り除き.colAます。

于 2013-02-04T16:12:16.667 に答える