一般的なストアド プロシージャ定義には次の部分が含まれます。
1. ストアドプロシージャ名
CREATE PROCEDURE プロシージャ名
または: プロシージャを作成します。
2. パラメータ、入力パラメータ、出力パラメータ
@parameter_name1 int, //名前、タイプ、長さを含む入力パラメータ定義
@parameter_name2= defual_value varchar(80) //デフォルト値を持つ入力パラメータ
@parameter_out int Output //パラメータを出力する
AS //as 以降の部分はストアド プロシージャの具体的な内容です
3. 内部パラメータ定義。定義方法は 2 と同様です。名前、型、長さを定義する必要があります。
宣言する
@Parameter_inter1 int、
@Parameter_inter2 varchar(30)
4. 内部パラメータを初期化します。
@Parameter_inter1 = 5 を設定します。
//必要な値を取得して内部パラメータに保存できます。
SELECT @parameter_inter2=table.column FROM table WHERE ……。
5. 特定の操作ステートメントには通常、次のプロセス制御ステートメント (if else | select case | while) が含まれます。
===============選択 ... CASE (複数の条件) 例: ============
@iRet INT、@PKDisp VARCHAR(20) を宣言します
SET @iRet = '1'
@iRet を選択 =
場合
WHEN @PKDisp = '一' THEN 1
WHEN @PKDisp = '二' THEN 2
WHEN @PKDisp = '3' THEN 3
WHEN @PKDisp = '四' THEN 4
WHEN @PKDisp = '五' THEN 5
それ以外の場合は 100
終わり
========== While (ループ) 例: ====================
@i INT を宣言
SET @i = 1
WHILE @i<1000000
始める
set @i=@i+1 //条件を変更して比較
終わり
-- 印刷
プリント@i
============= If (単一条件) の処理例: ================
IF @strTO<>'' //条件
始める
UPDATE UNIT SET UNIT_NAME=REPLACE(UNIT_NAME,'*','')
WHERE UNIT_CODE=@strTO
終わり
それ以外の場合は開始します
UPDATE UNIT SET UNIT_NAME=UNIT_NAME+'*' WHERE UNIT_CODE='011'
終わり
6.最後に:
行く
ストアド プロシージャを使用します。
プロシージャ名を実行します
パラメータを使用する場合:
プロシージャ名 'parameter1_value','paramerter2_value' を実行します
または:
Exec プロシージャ名paramerter1='parameter1_value',
パラメータ2='パラメータ2_値'
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/bestxulei/archive/2009/12/22/5053562.aspx