0

MurachsADO.NET4データベースプログラミングの本を読んでいます。第7章では、出力パラメータについて説明しています。データリーダーをプログラミングするとき、私はこれまでこれを見たことがありません。この本はその話題を釉薬で覆い、インターネットもそうです。私の質問は、出力パラメーターとは何か、そしてどのような場合に出力パラメーターを使用するかということです。

これが本の例です:

SELECT @Name = Name, @Address = Address1, @Address2 = Address2, @City = City
FROM Vendors
WHERE VendorID = @VendorID

ご覧のとおり、このクエリの選択領域にパラメータがあります。これはどのように作動しますか?私はそこでそれらを見たことがありません。私はいつもwhere句でそれらを見てきました。

4

1 に答える 1

1

結果テーブルに配置せずに複数のスカラー値を返したいsprocがある場合は、複数の出力パラメーターを使用できます。

T-SQLコンテキスト(ストアドプロシージャまたはSQLを直接実行する)は、パラメーターを受け入れ、次のいずれかまたはすべてを返します。

  1. 結果セット(0個以上のテーブルで構成される)
  2. 戻りコードまたは値
  3. 出力パラメータ
  4. メッセージ

投稿したT-SQLでは、結果セットにテーブルを返すのではなく、コードがT-SQL変数に特異なスカラーフィールド値を格納していることを意味します(VendorID主キーであるため、1行のみが返されます)。これらの変数は出力パラメーターとしてバインドされているため、呼び出し元のSQLクライアントからアクセスできます。

ある意味で、T-SQLスクリプトの出力はC#関数と比較できます。この関数は、outメソッドパラメーターを設定し、戻り値を提供し、stdoutまたはstderr(またはその他の非ローカルのスコープ内リソース)に書き込むことで出力できます。 。

于 2013-03-14T23:45:24.793 に答える