SQL Serverのストアドプロシージャは、出力パラメータとヒントを返します。

SQL Serverは、今SQLクライアントアクセスライセンス、真ににおけるオペレーティングシステムの優位性のWindowsNTの/ 2000ファミリで実現Microsoftのようなデータベースサービスシステムの導入により、上記データベース管理システムWindowNT、最も重要なオペレーティングシステムの一つとなってきていますデータベース・システムのいずれかの種類せずに、Microsoftのオペレーティングシステムには、ハウスキーピングなど、オラクルのOracleデータベース内のデータベースの世界的リーダー、を含む、彼らと競争することができます。確かに、最大の欠点は、SQL Serverが唯一のMicrosoft自身のオペレーティングシステム上で実行されることであり、これは、SQL Serverの致命的なポイントです。一方、それは、SQL Serverの唯一の「土地」の上に自分自身を促進するための最良のプロモーターが極端にその機能を果たしますとなっているオペレーティング・システムの潜在的なNTファミリーの様々な使用を最大化!重要なSQL Serverデータベースシステム、ストアドプロシージャをされた概念で、ストアドプロシージャの使用の合理化として、効果的にプログラムのパフォーマンスを向上させることができ、およびビジネス・ロジックを大幅に全体のソフトウェアシステムを向上させることができ、データベースシステムのストアドプロシージャをカプセル化されています保守性は、とき変更し、クライアントアプリケーションをコンパイルし、多数のユーザの手にそれらを再配布する必要がなくなり、ビジネス・ロジックの変更は、あなただけで、ストアドプロシージャのサーバー側の実装に対応するビジネス・ロジックを変更する必要がありますことができます。ストアドプロシージャの独自の合理的なニーズを書くには、SQL Serverのリソースを最大限に活用することができます。私たちは、SQL Serverのストアドプロシージャとストアドプロシージャの使用を書くスキル経験の様々なを見てみましょう。
 
入力このパラメータは、ストアドプロシージャへのアプリケーションからの情報を転送するために使用されます。 
このパラメータInputOutputでストアドプロシージャとバックアプリケーションにストレージから情報を送信する処理は、アプリケーションからの情報を転送することができます。 
出力は、このパラメータは、ストアドプロシージャから送り返される情報の用途に使用されます。 
このパラメータは、戻り値戻り値ストアドプロシージャを表します。SQL Serverのストアドプロシージャのパラメータリストは、このパラメータには表示されません。唯一の関連する値でストアドプロシージャでRETURN文。
  主キーは、典型的には、ストアドプロシージャでRETURN文を使用して、新しい値を生成するストアドプロシージャ後のパラメータ値のタイプにアクセスするために使用される値は、戻り値のパラメータで返します。 
 
1、簡単な手順で記憶されている入力パラメータを持ちます
OBJECT_ID( 'up_user')がnullでない場合
proc up_userをドロップ
行きます
proc up_userを作成
として
NOCOUNTの設定
@name VARCHAR(10)delcare
ベギン
=名前@ユーザーからのunameを選択
終わり
NOCOUNTオフに設定
行きます
ESEC up_user
 
2、簡単な入力パラメータを持つストアドプロシージャ
 OBJECT_ID( 'up_user')がnullでない場合
proc up_userをドロップ
行きます
proc up_userを作成
@id int型
として
NOCOUNTの設定
@name VARCHAR(10)delcare
ベギン
ユーザーからのuname @名=を選択する場所はuid = @ IDを
終わり
NOCOUNTオフに設定
行きます
- ストアドプロシージャを実行します
ESEC up_user 1
 
3、パラメーター戻るとストアドプロシージャ
 OBJECT_ID( 'up_user')がnullでない場合
proc up_userをドロップ
行きます
proc up_userを作成
として
NOCOUNTの設定
@age INTをdelcare
ベギン
ユーザーから@年齢= uageを選択
リターン@age
終わり
NOCOUNTオフに設定
行きます
 
- ストアドプロシージャを実行します
@age int型を宣言
EXEC @年齢= up_user
@ageを選択
 
図4は、出力パラメータを持つストアドプロシージャであります
 OBJECT_ID( 'up_user')がnullでない場合
proc up_userをドロップ
行きます
proc up_userを作成
@Id int型、
@name VARCHAR(10)= '' 出力
として
NOCOUNTの設定
ベギン
ユーザーからのuname @名=を選択する場所はuid = @ IDを
終わり
NOCOUNTオフに設定
行きます
 
- ストアドプロシージャを実行します
@name VARCHAR(10)を宣言
EXEC up_user 2、@name出力
@nameを選択
 
図5に示すように、一方の出力パラメータとリターンでストアドプロシージャ
(名前は=「up_user」とタイプ=「P」のsysobjectsから名前を選択する)が存在する場合
proc up_userをドロップ
行きます
proc up_userを作成
@Id int型、
@nameのVARCHAR(20)出力
として
@age int型を宣言
ベギン
stuinfoから@年齢= stuage、名前@ = stunameを選択する場所はuid = @ IDを
リターン@age
終わり
 
- ストアドプロシージャを実行します
@age int型を宣言
@name VARCHAR(20)を宣言
名前出力@のexec @年齢= up_user 2、
名前@、@年齢を選択
 
添付:SQL Serverシステムのグローバル変数
@@ CONNECTIONS 
前回の起動以後の接続の数を返すか、接続しようとします。
@@ CURSOR_ROWS 
現在カーソルの開放端に接続されている条件を満たす行の数存在して返します(データ有効ラインの行数がカーソルを返すために開かれて読まれていません)
@@ DATEFIRST 
週番号の最初の日を返します。
@@エラー 
エラーコードを返すSQL文の最後の実行。
@@ FETCH_STATUS 
状態最後のカーソルが、むしろ現在開いている接続のカーソルの状態よりも、実行FETCHステートメントを返します。
@@身元 
最後に挿入されたID値を返します。
@@ LANGID 
現在の言語のネイティブ言語識別子(ID)を返します。
@@言語 
現在使用中の言語の名前を返します。
@@ LOCK_TIMEOUT 
ミリ秒単位で設定する現在のロックタイムアウトの現在のセッションを返します。
@@ PROCID 
ストアドプロシージャは、現在のプロセス識別子(ID)を返すことができます。
@@ ROWCOUNT 
最後の文の影響を受けた行数を返します。
@@サーバーの名前 
サーバが稼働しているローカル名を返します。
@@ SPID 
ユーザプロセスの現在のサーバープロセス識別子(ID)を返します。
@@ TRANCOUNT 
接続現在アクティブなトランザクションの数を返します。
@@バージョン 
現在インストールされているプロセッサの日付、バージョンおよびタイプを返します。
@@ CPU_BUSY
SQL Serverは、ミリ秒単位のCPUでの作業時間の最後のスタート以来返します
@@ DATEFIRST
戻り値は、DATEFIRSTコマンドDATAFIRSTパラメータはSET DATEFIRSTの値が割り当てられSET週の最初の曜日を指定するには、コマンド週間です
@@ DBTS
データベースのタイムスタンプ値を確認する必要があり、現在のタイムスタンプ値のデータベースがあるだけで返します。
@@エラー
エラーコードがするTransact-SQLステートメントを実行している返します
@@ FETCH_STATUS
FETCH文は、最後の状態値を返します。
@@ IDLE
発売以来、SQL Serverの戻りは、CPUはミリ秒の空の閉鎖状態単位で時間の長さが続きます
@@ IO_BUSY
それはミリ秒単位でかかる入出力操作を実行するCPUの最後の開始時刻以降のSQL Serverの戻り
@@ LANGID
現在使用されている言語ID値を返します。
@@言語
現在使用中の言語の名前を返します。
@@ LOCK_TIMEOUT
ミリ秒単位でロックを待機時間の現在のセッションの長さを返し、
@@ MAX_CONNECTIONS
SQL Serverへの接続を許可される接続の最大数を返します。
@@ MAX_PRECISION
バック精度と小数点以下の数値データ型
@@ nestlevelに
0のネストされた初期値の保存された一連の現在の実行を返します。
@@ OPTIONS
現在のSETオプションに関する情報を返します。
@@ PACK_RECEIVED
SQL Serverは、ネットワークの番号を読み出すことにより、入力パケットを返します。
@@ PACK_SENT
SQL Serverは、出力パケットの数は、ネットワーク宛返します
@@ PACKET_ERRORS
ネットワークパケットのエラーの数を返します。
@@ PROCID
ID値ストアドプロシージャを返します。
@@ REMSERVER
リモートのSQL Serverデータベースサーバーの名前を返します。
@@サービス名
SQL Serverは、状態に戻すために実行されているなどのMSSQLServer MSDTC SQL Serverエージェントなどのサービス
@@ SPID
サーバは、現在のユーザーID値加工処理を戻します
@@文字サイズ
SET SET TEXTSIZEのステートメントオプションの値は、テキスト又は画像データの最大長文SELECT文のタイプは、実質的にバイト定義
@@時間刻み
マイクロ秒数にそれぞれクロックを返します。
@@ TOTAL_ERRORS
ディスクの数は、読み取りと書き込みのエラーが返されます
@@ TOTAL_READ
ディスクの読み取り操作の数を返します
@@ TOTAL_WRITE
ディスク書き込み操作の数を返します。
@@ TRANCOUNT
アクティブ状態の現在の接続でのトランザクションの数を返します。

ます。https://www.cnblogs.com/zhangchenliang/archive/2013/04/07/3006433.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33806509/article/details/93495365