DB 2学習ノート-記憶プロセス


ストアド・プロシージャの役割:

Creat procedure      (in         ,out         )

Language    (sql,java,c,.net)

Specific    

Dynamic result sets   

Determitation//not

Begin

 
End


Connect to sample@

Create procedure pro(

Put w char(20)

)

Language sql

Begin

       Declare f char(20);

       Set f=’welcome’;

       Set w=f;

End@

DB 21061 Eがコマンドライン環境を初期化していない問題を解決します:C:Documents and Settingsremy>db 2 cmd.
カーソル:
1.sql文の実行結果を取得します.結果には、値が存在するバッファ領域、位置決め、値の分析などが含まれます.
2.Dellareカーソル名cursor with hold
for sql文
Declare c1 cursor for select * from test
3.openカーソル名
Fetch fromカーソル名into変数名
Closeカーソル名//システムのバッファ領域の解放
注意:a:fetchの前にopenを先にしなければなりません.
B:openはカーソルに格納されているデータ開始バッファ領域を表す.
C:カーソルの値を取る方向は常に最初のデータから一度に値を下げることであり、1つまたは複数のデータを取ることはできない.Openの場合、カーソルの位置は必ず最初のデータを指します.
Open c1;
Fetch from c1 into temp;
Close c1;
Open c1;
D:システムが自動的にコミットされる限り、closeに等しい.with hold.
入力した番号に基づいてtestテーブルのデータをクエリーします.

Connect to sample@

drop table test@

create table test (id int ,name char (20))@

insert into test values(1,'  ')@

insert into test values (2,'  ')@

Create procedure view(

       In i int,out vname char(20)

)

Language sql

Begin

       //     

       // Declare c1 cursor for Select name from test where id =i;

         Open c1;

         Fetch from c1 into vname;

         Close c1;

       //     

// declare temp char(20);

  For temp as select name from test where id=i do

  Set vname = temp.name

  End for;

end@

コマンドラインdb 2 call view(1,?)を実行その後、iが1のvname値をとることができる.