全般規定

操作系SQLの種類と機能

操作系SQLは,表のデータを操作(検索,追加,削除,更新)するときに使用します。

操作系SQLの種類と機能を次の表に示します。

表4-1 操作系SQLの種類と機能

種 類機 能
ALLOCATE CURSOR文
(カーソル割当て)
PREPARE文で前処理したSELECT文,又は手続きから返却された結果集合の組に対してカーソルを割り当てます。
ASSIGN LIST文(リスト作成)実表からリストを作成します。
CALL文(手続きの呼び出し)手続きを呼び出します。
CLOSE文(カーソルクローズ)カーソルを閉じます。
DEALLOCATE PREPARE文(SQLの前処理無効化)PREPARE文で前処理したSQLを無効にし,SQL文識別子,又は拡張文名の割当てを解除します。
DECLARE CURSOR(カーソル宣言)SELECT文の検索結果をFETCH文で1行ずつ取り出すために,カーソルを宣言します。
DELETE文(行削除)指定した探索条件を満足する行,又はカーソルが指している行を削除します。
準備可能動的DELETE文:位置付け(前処理可能なカーソルを使用した行削除)指定したカーソルが指している行を削除します。動的に実行する場合に使用します。
DESCRIBE文
(検索情報,入出力情報の受け取り)
PREPARE文で前処理したSQLの検索情報,若しくは出力情報,又は入力情報を,SQL記述領域に返します。
DESCRIBE CURSOR文
(カーソルの検索情報の受け取り)
手続きから返却された結果集合を参照するカーソルの検索情報を,SQL記述領域に返します。
DESCRIBE TYPE文
(ユーザ定義型の定義情報の受け取り)
PREPARE文で前処理したSQLの検索項目情報に直接又は間接的に含まれるユーザ定義型の定義情報(各属性のデータコード,データ長など)をSQL記述領域に受け取ります。
DROP LIST文(リスト削除)リストを削除します。
EXECUTE文(SQLの実行)PREPARE文で前処理したSQLを実行します。
EXECUTE IMMEDIATE文
(SQLの前処理と実行)
文字列で与えられたSQLを,前処理して実行します。
FETCH文(データの取り出し)取り出す行を示すカーソルの位置を次の行に進め,その行の列の値をINTO句で指定した埋込み変数に読み込みます。
FREE LOCATOR文
(位置付け子の無効化)
位置付け子を無効にします。
INSERT文(行挿入)表に行を挿入します。直接,値を指定して一つの行を挿入できます。また,SELECT文を使用して一つ,又は複数の行を挿入できます。
OPEN文(カーソルオープン)カーソルを開きます。DECLARE CURSORで宣言したカーソル,又はALLOCATE CURSOR文で割り当てたカーソルを,検索結果の先頭の行の直前に位置づけて,検索結果を取り出せる状態にします。
PREPARE文(SQLの前処理)文字列で与えられたSQLを実行するための前処理をしてそのSQLに名称(SQL文識別子,又は拡張文名)を付けます。
PURGE TABLE文(全行削除)実表中のすべての行を削除します。
1行SELECT文(1行検索)表のデータを検索します。表から1行だけデータを取り出す場合は,カーソルを使用しないでデータを取り出す1行SELECT文を指定します。
動的SELECT文(動的検索)表のデータを検索します。動的SELECT文は,PREPARE文で前処理します。検索するときは,DECLARE CURSORによってカーソルを宣言するか,ALLOCATE CURSOR文によってカーソルを割り当ててから,そのカーソルを使用して検索結果を1行ずつ取り出します。
UPDATE文(データ更新)表の指定した探索条件を満足する行,又はカーソルが指している行の指定した列の値を更新します。
準備可能動的UPDATE文:位置付け(前処理可能なカーソルを使用したデータ更新)指定したカーソルが指している行の指定した列の値を更新します。動的に実行する場合に使用します。
代入文(値の代入)値を代入先に代入します。

分散データベース下でリモートデータベースアクセスができる操作系SQL

分散データベース下で,ほかのRDノードの表をアクセスできる操作系SQLを次の表に示します。

表4-2 分散データベース下でのリモートデータベースアクセスの可否(操作系SQL)

操作系SQLリモートデータベースアクセスの可否
ALLOCATE CURSOR文×
ASSIGN LIST文×
CALL文
CLOSE文
DEALLOCATE PREPARE文×
DECLARE CURSOR
DELETE文
準備可能動的DELETE文:位置付け×
DESCRIBE文
DESCRIBE TYPE文×
DESCRIBE CURSOR文×
DROP LIST文×
EXECUTE文
EXECUTE IMMEDIATE文
FETCH文
FREE LOCATOR文×
INSERT文
OPEN文
PREPARE文
PURGE TABLE文
1行SELECT文
動的SELECT文
UPDATE文
準備可能動的UPDATE文:位置付け×
代入文×
(凡例)
○:リモートデータベースアクセスができます。
×:リモートデータベースアクセスができません。
注※
分散データベース下では,カーソル宣言は動的実行文として処理されます。カーソル宣言は,カーソルオープン時にHiRDBがサーバ側に処理要求を出します。