問題タブ [output-clause]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - @@IDENTITY、SCOPE_IDENTITY()、OUTPUT、および最後の ID を取得するその他のメソッド
挿入後に主キー ID フィールドの値を取得するときに使用されるさまざまな方法を見てきました。
挿入後に ID のテーブルを返す:
どの方法が適切またはより良いですか?OUTPUT メソッドはスコープセーフですか?
2 番目のコード スニペットは、 SQL in the Wildから借用したものです。
sql-server-2005 - トリガーで挿入および削除された仮想テーブルのエイリアシング
MSSQL 2005 のトリガーで挿入および削除された仮想テーブルに別名を付けて、後からトリガーで OUTPUT 句から挿入および削除された仮想テーブルの別のセットを使用できるようにするにはどうすればよいですか?
http://msdn.microsoft.com/en-us/library/ms177564%28SQL.90%29.aspxに従って、トリガーでこれらのテーブルにエイリアスを設定する必要があります。
[編集]
私はもっと明確で、私が推測する例を提供するべきでした。
私は本質的に次のことをしたい:
sql-server - ストアド プロシージャとテーブル値関数の OUTPUT 句
私はMCTS 70-433「データベース設計」認定のために勉強しています.私が勉強しているテキストでは、セルフテストの1つにこの質問があります.
Get_NewProducts という名前のストアド プロシージャがあります。このストアド プロシージャの結果を Production.Product テーブルに挿入し、OUTPUT 句を使用して INSERTED.* 値を出力します。これを行う最善の方法は何ですか?
考えられる答えは 4 つあります。最初の 3 つの選択肢はすべて、「INSERT...OUTPUT...EXECUTE Get_NewProducts」ステートメントのバリエーションです。4 番目の選択肢である D は、「ストアド プロシージャをテーブル値関数として書き直す」という単純なものです。
Dが正解です。その理由はよくわかりません。テキストにはそれを説明するものは何もありません。誰にも洞察がありますか?
sql-server - 出力列が宛先テーブルにありませんか?
概要:INSERTステートメントでOUTPUT句を
使用して、挿入先のテーブルに存在しない列を返す必要があります。それを回避できるのであれば、挿入先のテーブルに列を追加したくありません。
詳細:
FinishedDocumentテーブルには1つの列しかありません。これは私が挿入しているテーブルです。
FinishedDocument
-DocumentID
私のドキュメントテーブルには2つの列があります。これは、データを返す必要があるテーブルです。
ドキュメント
-DocumentID-
説明
次の例では、FinishedDocumentに1行を挿入します。そのOUTPUT句は、挿入されたDocumentIDを返します。これは機能しますが、挿入されたドキュメントの説明が表示されません。
Documentテーブルから、INSERTから一致するドキュメントのDocumentIDとDescriptionの両方を返す必要があります。
これを実現するにはどのような構文が必要ですか?OUTPUT句を微調整することで(はっきりと理解できない方法で)、1つのINSERTステートメントでのみ可能だと思いますか?
私がここで下る道に似ていないより賢い方法はありますか?
編集: SQL Server 2005
sql-server-2005 - 1 つの OUTPUT 句で 2 つのテーブルから削除しますか?
これにより、テーブルからドキュメントがDocument
削除され、削除されたドキュメントに関する情報がテーブルに出力されFinishedDocument
ます。
Document
テーブルだけでなく、テーブルからもドキュメントを削除する必要がありDocumentBackup
ます。その間、 への挿入を維持する必要がありFinishedDocument
ます。
このすべてがたった 1 つのステートメントで可能ですか? そうでない場合は、すべてがトランザクションにラップされた状態でDELETE
( に対して) 2 番目ですか?DocumentBackup
sql - 出力句: マルチパート識別子をバインドできませんでした
現在作業中のストアド プロシージャで、恐ろしい「マルチパート識別子をバインドできませんでした」というエラーが発生しました。下記の質問に関していくつか質問があります。
- このエラーが発生するのはなぜですか?
- FloorplanId ではなく ImportFundingDateTime でこのエラーが発生するのはなぜですか? どちらも同じクエリから取得されたものですが、FloorplanId は出力句の最初にリストされています。
- 一般的な構造を同じに保ちながら、エラーが発生しないようにこのクエリを調整できますか?
.
sql-server-2005 - SQL Server 2005 の一時テーブルへの出力
ストアド プロシージャ内でOUTPUT
句を使用して、.INSERT
ただし、このプロシージャを実行すると、SQL Server は (正しく) 呼び出されたテーブルに結果を表示しますTest
がSELECT * FROM #Test
、ストアド プロシージャの次のステートメントとして記述しても何も表示されません。どうすればこれを効果的に達成できますか?
sql-server - SQL Server 2005 で OUTPUT INTO を使用してテーブルの行をコピーする
レコードをコピーしてそれ自体に戻す必要があるテーブルがあります。その一環として、OUTPUT 句を使用してテーブル変数に新しい行をキャプチャし、同じプロセスで行に対して他の操作を実行できるようにしたいと考えています。各行に新しいキーとコピー元のキーを含めたい。これは不自然な例です:
INSERT の列数が SELECT ステートメントの列数と一致しない場合、SQL Server は吠えます。そのため、列を MyTable に追加した場合にこれがどのように機能するかはわかりますが、それはオプションではありません。以前は、これはパフォーマンスのボトルネックを引き起こしているカーソルで実装されていました。意図的にそれを回避しようとしています。
可能な限り最高のパフォーマンスを達成する方法でコピーされた行のキーを保持しながら、これらのレコードをコピーするにはどうすればよいですか?
sql - SQLでoutput句を使用して、挿入、更新、削除の結果を新しい一時テーブルに出力するにはどうすればよいですか?
update
現在、 SQL Serverでを実行しようとしています(ただし、句をサポートする任意のDMLステートメントである可能性があります)。次のように、出力をローカル一時テーブルに配置したいと思います。output
句のドキュメントに従って、構文が正しいことを知っていますoutput
(私の強調):
output_table
呼び出された行が呼び出し元に返されるのではなく、返される行が挿入されるテーブルを指定します。output_tableは一時テーブルの場合があります。
そうは言っても、テーブルを作成するだけであるという点で、ステートメントのinto
句の場合と同じように機能することを期待しています。select
ただし、次のエラーが発生します。
オブジェクト名'#myTempTable'が無効です。
output
句(inserted
またはdeleted
)の結果を一時テーブルに入れるにはどうすればよいですか?
sql-server-2008 - 出力句で2つのテーブルから列を取得する方法
私は2つのテーブルを持っています
次に、 Col1 と Col4 の組み合わせを取得したいと思います。
私はこれを使用しています
しかし、以下では、tableA の Col1、Col2、および Col3 のみが表示されます。ここで、Col1 (TableA) と Col4 (TableB) が必要です。Col4 と、TableA で尊重されているインデント行を取得するにはどうすればよいですか。
編集
以下は、あなたを助けるかもしれないサンプルシナリオです
チェックサムでそれを行うことはできますか?