COBOL2002 言語 拡張仕様編
手続き部(操作系)では,操作系とする埋め込みSQL文で記述できるSQL文について記述する。操作系とするSQL文は,次に示す四つに分類できる。
分類 | SQL文 | 概要 |
---|---|---|
静的 | SELECT | 表の指定された行から値を取り出す |
INSERT | 表に新しい行を挿入する | |
DELETE | 表から行を削除する | |
UPDATE | 表の行を更新する | |
カーソル | OPEN | カーソルを開く |
FETCH | カーソルを表の次の行に位置づけ,その行を取り出す | |
CLOSE | カーソルを閉じる | |
ストアドプロシージャ | CALL | ストアドプロシージャを呼び出す |
動的 | EXECUTE IMMEDIATE | 動的にSQL文を準備し,実行する |
PREPARE | 動的にSQL文を準備する | |
DEALLOCATE PREPARE | 動的に準備したSQL文を解放する | |
EXECUTE | 動的に準備したSQL文を実行する |
静的に行う方法とは,埋め込みSQL文でSQL文を指定する方法である。このため実行時は,変数の値以外,そのSQL文自体の構文を変更できない。
埋め込みSQL文中に埋め込み変数を指定することで変数を使用できる。
カーソル(cursor)は,DECLARE CURSOR(カーソル宣言)文で宣言し,OPEN文で開かれ,FETCH文を複数回実行することで表から複数行の値を取り出すことができ,CLOSE文で閉じられる。
また,カーソルをFETCH文によって行に位置づけた場合,UPDATE文,DELETE文の位置づけの構文を使用することで行を更新,削除できる。
ストアドプロシージャ(stored procedure)は,データベースに格納された一連の手続きとする。ストアドプロシージャを呼び出すことによってその一連の手続きを実行する。ストアドプロシージャを使用すると,ユーザ宣言の変数,条件付き実行などのプログラミング機能をデータベース内で使用できる。
動的に行う方法とは,実行時に動的に SQL文を構成する方法である。この実行時に構成するSQL文を,以降では動的SQLとする。動的SQLは,接続データベースによって構文,機能およびその動作が規定される。
動的SQL中にパラメタマーカと呼ぶ疑問符(?)を指定し,これにUSING句で埋め込み変数を対応づけることで変数を使用できる。
All Rights Reserved. Copyright (C) 2003, 2013, Hitachi, Ltd.