私はすべてのテーブルでGUIDを使用してSQL Server 2008を使用していますが、いくつかのストアドプロシージャを使用しています。私はあなたが更新している現在のGUIDを出力する方法があるかどうかを知りたいですか?更新時にSQL Server 2008のOUTPUTを使用しますか?
私は他の手順で使用している以下のコードがあると知っている:
output inserted.*
output deleted.*
はしかし、私が更新し、そうでない、場合はnullインサートである場合があります。それぞれの場合にどのGUIDが使用されたのかを知りたい。私は別のテーブルを作成する別の方法を聞いたことがありますテーブルの値を更新したGUIDに設定し、新しく作成されたテーブルから値をSELECTしますが、それはちょうど非常に冗長で不要です。回避策はありますか?
ありがとうございます!
まあ。私はまだNEWID()としてGUIDの行のデフォルトを使用し、それは正常に動作します。ただし、Update 1はGUIDを返すことはありません。私にとっては大きな問題ではありませんが、その不便は確かです。 – ImGreg
GUIDはPKですか?そうであれば、あなたはアップデート時にすでにそれを知っています。それ以外の場合は、更新したものと同じtable/where節に基づいてguidを選択するコードを追加して、更新したものを取得してください。 – Treborbob