ストアド プロシージャ本体を作成する
ストアド プロシージャのロジックはストアド プロシージャ本体に存在します。ストアド プロシージャ本体には、任意の Transact SQL ステートメントを含めることができます。次の Transact SQL ステートメントはストアド プロシージャ本体に含めることはできません: CREATE DEFAULT
ストアド プロシージャの中間値を保持します。ローカル変数は、ストアド プロシージャ内で値が複数回必要になる場合、または特定のクエリの結果を後続のクエリで使用する必要がある場合に使用されます。このような場合、値はローカル変数に保存され、将来使用できるようになります。ローカル変数の名前は「@」記号で始まります。変数名には文字と数値を含めることができます。ローカル変数は使用前に型宣言が必要です。ローカル変数に値を割り当てるには、SELECT ステートメントを使用する必要があります。 SELECT はテーブルから値を取得して変数に代入したり、定数値を変数に代入したりできます。単純な SELECT ステートメントで複数のローカル変数に値を割り当てることができます。
例:
DECLARE @var1 integer, @var2 varchar(20)
SELECT @var1 = 32,
@var2 = 'MyAge'
SELECT クエリからデータが返されず、SELECT がデータの値を割り当てる必要がある場合をローカル変数に追加しても、ローカル変数の値は変わりません。
2. 条件文
ストアド プロシージャで提供される条件文には、次のものが含まれます。
·IF...ELSE 文。
· WHILE ステートメント。
1) IF...ELSE ステートメント。このステートメントには、ブール式、IF ステートメント ブロック、および ELSE ステートメント ブロックの 3 つの部分が含まれています。構文は次のとおりです。
IF (boolen_expr)
{statements}
ELSE
{statements}
IF または ELSE ステートメント ブロック内に複数のステートメントを含めることができます。この場合、ステートメントをマークするには、ステートメント BEGIN と END が必要です。ブロック。
2) WHILE ステートメント。 WHILE ステートメントは、特定の条件が TRUE になるまで繰り返し実行されるステートメントを処理するために使用されます。文法は次のとおりです: iwhile (BOOLEN_EXPR)
Begin
ステートメント (複数可)
Break
ステートメント (複数可)
Continue
End
Begin および END ステートメントのロゴ。 BREAK ステートメントはループの実行を終了します (つまり、END ステートメントの後に進みます)。 CONTINUE 文は、制御処理をループの先頭 (BEGIN 文の右側) に戻します。または 注: while サイクルが 2 つ以上ネストされている場合、内部 BREAK は 2 次層のループを終了します。内部ループの終了後のすべてのステートメントは、内部ループの実行後も引き続き実行できます。
3. GOTO ステートメント
ストアド プロシージャの実行では、ステートメントが順番に実行されます。 GOTO ステートメントは、このようなステートメントの実行順序を破るために使用され、特定のステートメントに即座にジャンプして実行されますが、多くの場合、このステートメントは前のステートメントの直後に続きません。 GOTO ステートメントは、ステートメントを識別するラベル (Label) とともに使用されます。
例:
USE pubs
GO
DECLARE @num int
SELECT
IF @num = 0
GOTO Err
ELSE
BEGIN
PRINT '著者が見つかりました'
SELECT * 著者から
GOTO 最後
END
エラー: 印刷 '作成者が見つかりません'
Last: PRINT '実行を終了'
GO
4. RETURN ステートメント
RETURN ステートメントはストアド プロシージャを無条件で終了するために使用されます。 RETURN 以降のステートメントは実行されなくなります。 RETURN ステートメントは呼び出し側ステートメントに値を返すことができますが、NULL 値を返すことはできません。 SQL Server は多くの場合、ストアド プロシージャのステータス値を返します。実行が成功した場合は 0 が返され、エラーが発生した場合は負のエラー コードが返されます。
ストアド プロシージャによって返されたエラー コード
Value
Said
Value
out out out out out out of System limit
-2
データ型エラーが発生しました
-10
致命的な内部不整合エラーが発生しました
-3
デッドロックの対象となるプロセスが選択されました
-11
致命的な内部不整合エラーが発生しました
-4
権限エラーが発生しました
-12
テーブルまたはインデックスが破損しています
-5
構文エラーが発生しました
-13
データベースが破損しています
-6
混合ユーザーエラーが発生しました
-14
ハードウェアエラーが発生しました
-7
スペース不足などのリソースエラー
5. カーソル (CURSOR) の使用 カーソルは、行を処理するときに非常に便利です。行 。カーソルは結果セット (指定された基準に従って選択された行) を開き、結果セットを行ごとに処理する機能を提供します。カーソルのタイプに基づいて、カーソルをロールバックまたは転送できます。カーソルを使用する場合は 5 つの手順が必要です:
上記は SQL Server 7.0 入門 (6) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。