2011-06-21 23 views
2

テーブルを更新し、SQL Serverのデフォルトの "挿入"テーブルから更新されたレコードを取得します。SQLの挿入 - 削除されたテーブル

次のクエリの一部の更新は成功しましたが、クエリの残りの "SELECT * FROM inserted"部分が "Invalid object name 'が挿入された"というエラーが発生します。

これをしたいと思う
use AdventureWorks 
go 

UPDATE TOP(50) Person.Address 
SET City= 'PARIS' 

SELECT * FROM inserted 
+0

を、 'inserted'と'削除。 'はトリガー内でのみ使用できます。 'update'の影響を受けたレコードのリストが必要なようです。その場合は、SqlACIDが示唆するように 'output'節を使用する必要があります。 – GalacticCowboy

答えて

6

UPDATE TOP(50) Person.Address set 
city='Paris' output inserted.* 

あなたはケースの使用が削除されている古い値を、必要がない限り、スタンドアロンのアイテムとして*

+0

+1。速い答え。 – a1ex07

+0

または 'output inserted。*'などを使用して、影響を受けた行からすべての列を取得します。 – GalacticCowboy

+0

エラーが発生します。 "メッセージ334、レベル16、状態1、行1 DMLステートメントの 'Person.Address'ターゲットテーブルには、ステートメントにINTO句のないOUTPUT句が含まれている場合、有効なトリガを使用できません。 –