スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

1.2.2 HiRDBで使用できるSQL一覧

HiRDBで使用できるSQLの一覧を表1-1表1-5に示します。なお,表中のOLTP下とは,OLTP下でX/Openに従ったアプリケーションプログラムのことを指します。

また,各項目については,次のマニュアル,又は該当する箇所を参照してください。

SQLの記述形式の詳細:
マニュアル「HiRDB Version 8 SQLリファレンス」

データベースの定義:
マニュアル「HiRDB Version 8 システム導入・設計ガイド」

データベースの操作:
2.データベースの操作

データベースの制御:
3.UAPの設計

埋込み言語:
マニュアル「HiRDB Version 8 SQLリファレンス」

表1-1 SQL一覧(定義系SQL)

SQL 機能 使用可否
C言語 COBOL言語 OLTP下 分散データベース(サーバ種別)
HiRDB HiRDB以外
ALTER INDEX
(インデクス定義変更)
インデクスの名称を変更します。 × × ×
ALTER PROCEDURE
(手続きのSQLオブジェクトの再作成)
手続きのSQLオブジェクトを再作成します。 × × ×
ALTER ROUTINE
(関数手続き,及びトリガのSQLオブジェクトの再作成)
関数,手続き,及びトリガのSQLオブジェクトを再作成します。 × × ×
ALTER TABLE
(表定義変更)

  • 実表に新しい列を追加します。
  • データ型を変更します。
  • 可変長データ型の列の最大長を大きくします。
  • データの格納されていない実表の列を削除します。
  • データの格納されていない実表のクラスタキーの一意性制約を変更します。
  • 表や列の名称を変更します。
× × ×
ALTER TRIGGER
(トリガのSQLオブジェクトの再作成)
トリガのSQLオブジェクトを再作成します。 × × ×
COMMENT
(注釈付加)
表,及び列に注釈を付けます。 × × ×
CREATE ALIAS
(表別名定義)
表の別名を定義します。 × × ×
CREATE AUDIT
(監査対象イベントの定義)
監査証跡として記録する監査イベント及びその対象を定義します。 × × ×
CREATE CONNECTION SECURITY
(CONNECT関連セキュリティ機能の定義)
CONNECT関連セキュリティ機能に関するセキュリティ項目を定義します。 × × ×
CREATE FOREIGN INDEX
(外部インデクス定義)
外部インデクスを定義します。 × × ×
CREATE FOREIGN TABLE
(外部表定義)
外部表を定義します。 × × ×
CREATE FUNCTION
(関数定義)
関数を定義します。 × × ×
CREATE PUBLIC FUNCTION
(パブリック関数定義)
パブリック関数を定義します。 × × ×
CREATE INDEX
(インデクス定義)
実表の列にインデクス(昇順,降順)を定義します。 × × ×
CREATE PROCEDURE
(手続き定義)
手続きを定義します。 × × ×
CREATE PUBLIC PROCEDURE
(パブリック手続き定義)
パブリック手続きを定義します。 × × ×
CREATE SCHEMA
(スキーマ定義)
スキーマを定義します。 × × ×
CREATE SEQUENCE
順序数生成子定義
順序数生成子を定義します。 × × ×
CREATE SERVER
(外部サーバ定義)
外部サーバを定義します。 × × ×
CREATE TABLE
(表定義)
実表を定義します。 × × ×
CREATE TRIGGER
(トリガ定義)
トリガを定義します。 × × ×
CREATE TYPE
(型定義)
抽象データ型を定義します。 × × ×
CREATE USER MAPPING
(ユーザマッピング定義)
ユーザマッピングを定義します。 × × ×
CREATE VIEW
(ビュー定義)
ビュー表を定義します。 × × ×
CREATE PUBLIC VIEW
(パブリックビュー定義)
パブリックビュー表を定義します。 × × ×
DROP ALIAS
(表別名削除)
表の別名を削除します。 × × ×
DROP AUDIT
(監査対象イベントの削除)
CREATE AUDITで定義した監査対象イベントと内容が一致する定義を,監査対象から削除します。 × × ×
DROP CONNECTION SECURITY
(CONNECT関連セキュリティ機能の削除)
CONNECT関連セキュリティ機能に関するセキュリティ項目を削除します。 × × ×
DROP DATA TYPE
(ユーザ定義型削除)
ユーザ定義型を削除します。 × × ×
DROP FOREIGN INDEX
(外部インデクス削除)
外部インデクスの定義を削除します。 × × ×
DROP FOREIGN TABLE
(外部表定義)
外部表の定義を削除します。 × × ×
DROP FUNCTION
(関数削除)
関数を削除します。 × × ×
DROP PUBLIC FUNCTION
(パブリック関数削除)
パブリック関数を削除します。 × × ×
DROP INDEX
(インデクス削除)
インデクスを削除します。 × × ×
DROP PROCEDURE
(手続き削除)
手続きを削除します。 × × ×
DROP PUBLIC PROCEDURE
(パブリック手続き削除)
パブリック手続きを削除します。 × × ×
DROP SCHEMA
(スキーマ削除)
スキーマを削除します。 × × ×
DROP SEQUENCE
順序数生成子削除
順序数生成子を削除します。 × × ×
DROP SERVER
(外部サーバ削除)
外部サーバの定義を削除します。 × × ×
DROP TABLE
(表削除)
実表を削除します。さらに,その実表に対するインデクス,注釈,アクセス権限,ビュー表,及びトリガも削除します。 × × ×
DROP TRIGGER
(トリガ削除)
トリガを削除します。 × × ×
DROP USER MAPPING
(ユーザマッピング削除)
ユーザマッピングを削除します。 × × ×
DROP VIEW
(ビュー表の削除)
ビュー表を削除します。 × × ×
DROP PUBLIC VIEW
(パブリックビュー表の削除)
パブリックビュー表を削除します。 × × ×
GRANT AUDIT
(監査人のパスワード変更)
監査人のパスワードを変更します。 × × ×
GRANT CONNECT
(CONNECT権限定義)
ユーザにCONNECT権限を与えます。 × × ×
GRANT DBA
(DBA権限定義)
ユーザにDBA権限を与えます。 × × ×
GRANT RDAREA
(RDエリア利用権限定義)
ユーザにRDエリアの利用権限を与えます。 × × ×
GRANT SCHEMA
(スキーマ定義権限定義)
ユーザにスキーマ定義権限を与えます。 × × ×
GRANT アクセス権限
(アクセス権限定義)
ユーザにアクセス権限を与えます。 × × ×
REVOKE CONNECT
(CONNECT権限削除)
ユーザに与えたCONNECT権限を取り消します。 × × ×
REVOKE DBA
(DBA権限削除)
ユーザに与えたDBA権限を取り消します。 × × ×
REVOKE RDAREA
(RDエリア利用権限削除)
ユーザに与えたRDエリアの利用権限を取り消します。 × × ×
REVOKE SCHEMA
(スキーマ定義権限削除)
ユーザに与えたスキーマ定義権限を取り消します。 × × ×
REVOKE アクセス権限
(アクセス権限削除)
ユーザに与えたアクセス権限を取り消します。 × × ×

(凡例)
○:使用できます。
×:使用できません。

表1-2 SQL一覧(操作系SQL)

SQL 機能 使用可否
C言語 COBOL言語 OLTP下 分散データベース
(サーバ種別)
HiRDB HiRDB以外
ALLOCATE CURSOR文
(カーソル割り当て)
PREPARE文で前処理したSELECT文,又は手続きから返却された結果集合の組に対して,カーソルを割り当てます。 × ×
ASSIGN LIST文
(リスト作成)
実表からリストを作成します。 × ×
CALL文
(手続きの呼び出し)
手続きを呼び出します。 ×
CLOSE文
(カーソルクローズ)
カーソルを閉じます。
DEALLOCATE PREPARE文
(前処理解除)
PREPARE文で前処理された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変数,又はSQLパラメタに値を代入します。 × ×

(凡例)
○:使用できます。
×:使用できません。

注※
OLTP下で手続きを呼び出す場合,又は分散データベース機能使用時に分散サーバ上で定義した手続きを呼び出す場合,その手続き中にPURGE TABLE文,COMMIT文,又はROLLBACK文があると,手続きは実行できません。

表1-3 SQL一覧(制御系SQL)

SQL 機能 使用可否
C言語 COBOL言語 OLTP下 分散データベース
(サーバ種別)
HiRDB HiRDB以外
CALL COMMAND文
(コマンド・ユティリティの実行)
HiRDBのコマンド,又はユティリティを実行します。 × ×
COMMIT文
(トランザクションの正常終了)
現在のトランザクションを正常終了させて,同期点を設定し1コミットメント単位を生成します。そのトランザクションが更新したデータベースの内容を有効にします。 ×
CONNECT文
(HiRDBとの接続)
HiRDBに認可識別子及びパスワードを連絡して,UAPがHiRDBを使用できる状態にします。 ×
DISCONNECT文
(HiRDBとの切り離し)
現在のトランザクションを正常終了させて,同期点を設定し1コミットメント単位を生成します。その後,UAPをHiRDBから切り離します。 ×
LOCK文
(表の排他制御)
指定した表に排他制御をします。 ×
RDノード指定CONNECT文
(分散RDノードとの接続)
分散RDノードに,認可識別子とパスワードを連絡して,UAPがそのRDノードを利用できる状態にします。
RDノード指定DISCONNECT文
(分散RDノードとの切り離し)
現在のトランザクションを正常終了させて,同期点を設定し1コミットメント単位を生成します。その後,UAPを分散RDノードから切り離します。 ×
ROLLBACK文
(トランザクションの取り消し)
現在のトランザクションを取り消して,そのトランザクション内でのデータベースの更新を無効にします。 ×
SET CONNECTION文
(現行RDノードの設定)
現行RDノードを設定します。
SET SESSION AUTHORIZATION文
(実行ユーザの変更)
接続中のユーザを変更します。 × ×

(凡例)
○:使用できます。
×:使用できません。

注※
分散サーバ側DBMSへの接続は,CONNECT文実行時ではなく,分散サーバのデータベースにアクセスする最初の操作系SQL実行時にシステムが自動的にします。また,CONNECT文実行後に,RDノード指定CONNECT文を実行すると分散サーバ側DBMSにも接続できます。

表1-4 SQL一覧(埋込み言語)

SQL 機能 使用可否
C言語 COBOL言語 OLTP下 分散データベース
(サーバ種別)
HiRDB HiRDB以外
BEGIN DECLARE SECTION
(埋込みSQL開始宣言)
埋込み変数宣節の始まりを示します。埋込み変数宣言節には,SQL中で使用する埋込み変数,及び標識変数を指定します。
END DECLARE SECTION
(埋込みSQL終了宣言)
埋込み変数宣言節の終わりを示します。
ALLOCATE CONNECTION HANDLE
接続ハンドルの割り当て
複数接続機能を使用した環境で,UAPが使用する接続ハンドルを割り当てます。 × × ×
FREE CONNECTION HANDLE
接続ハンドルの解放
ALLOCATE CONNECTION HANDLEで割り当てた接続ハンドルを解放します。 × × ×
DECLARE CONNECTION HANDLE SET
使用する接続ハンドルの宣言
複数接続機能を使用した環境で,UAP中のSQLが使用する接続ハンドルを宣言します。 ※1 × ×
DECLARE CONNECTION HANDLE UNSET
使用する接続ハンドルの全解除
この文以前にDECLARE CONNECTION HANDLE SETで指定した接続ハンドルの,使用の宣言をすべて解除します。 × ※2 × ×
GET CONNECTION HANDLE
接続ハンドル取得
X/Open XAインタフェース環境下で複数接続機能を使用する場合,UAPが使用する接続ハンドルを割り当てます。 × ×
COPY
(登録原文の引き込み)
登録原文をソースプログラム中に引き込みます。
GET DIAGNOSTICS
(診断情報取得)
直前に実行したSQL文がCREATE PROCEDURE,又はCALL文の場合に,そのエラー情報を診断領域から取得します。
COMMAND EXECUTE
(UAPからのコマンド実行)
UAP中から,HiRDBのコマンド,及びOSのコマンドを実行します。 × × × ×
SQL先頭子 SQLの始まりを示します。
SQL終了子 SQLの終わりを示します。
WHENEVER
(埋込み例外宣言)
SQLの実行後にHiRDBがSQL連絡領域に設定したリターンコードによって,UAPの処理を宣言します。
SQLCODE変数 SQLの実行後にHiRDBから返されるリターンコードを受け取ります。
SQLSTATE変数 SQLの実行後にHiRDBから返されるリターンコードを受け取ります。
PDCNCTHDL型変数の宣言 複数接続機能を使用した環境で,使用する接続ハンドル型の変数を宣言します。 × ×
INSTALL JAR
(JARファイルの登録)
HiRDBサーバにJARファイルをインストールします。 × × × ×
REPLACE JAR
(JARファイルの再登録)
HiRDBサーバにJARファイルを上書きインストールします。 × × × ×
REMOVE JAR
(JARファイルの削除)
HiRDBサーバからJARファイルをアンインストールします。 × × × ×
INSTALL CLIB(外部Cライブラリファイルの登録) HiRDBサーバに外部Cライブラリファイルをインストールします。 × × × ×
REPLACE CLIB(外部Cライブラリファイルの再登録) HiRDBサーバに外部Cライブラリファイルを上書きインストールします。 × × × ×
REMOVE CLIB(外部Cライブラリファイルの削除) HiRDBサーバから外部Cライブラリファイルをアンインストールします。 × × × ×
DECLARE AUDIT INFO SET(ユーザ任意接続情報の設定) HIRDBサーバにアクセスするアプリケーションのアカウント情報などのユーザ任意接続情報を設定します。 × ×

(凡例)
○:使用できます。
×:使用できません。
△:分散サーバで実行するSQL文ではありませんが,分散データベース機能を使用するUAPで使用できます。

注※1
GET CONNECTION HANDLEで接続ハンドルを取得した場合に使用できます。

注※2
C言語でのみ使用できます。

表1-5 SQL一覧(ルーチン制御SQL)

SQL 機能 使用可否
C言語 COBOL言語 OLTP下 分散データベース
(サーバ種別)
HiRDB HiRDB以外
複合文
(複数文実行)
複数のSQL文をまとめて一つのSQL文として実行します。 × × ×
IF文
(条件分岐)
条件によって,SQL文を実行します。 × × ×
RETURN文
(戻り値の返却)
関数の戻り値を返却します。 ※1 ※1 × × ×
WHILE文
(繰り返し実行)
SQL文の実行を繰り返します。 × × ×
FOR文
(各行に対する繰り返し実行)
表の各行に対して,SQL文の実行を繰り返します。 ※3 ※3 × × ×
LEAVE文
(実行の途中終了)
複合文,又はWHILE文から抜けて,その文の実行を終了します。 × × ×
WRITE LINE文
(ファイルへの文字列出力)
指定した値式の文字列をファイルに出力します。 × × ×
SIGNAL文
(エラーの通知)
エラーを発生させて通知します。 ※2 ※2 × × ×
RESIGNAL文
(エラーの再通知)
エラーを発生させて再通知します。 ※2 ※2 × × ×

(凡例)
△:直接UAPで使用することはできませんが,CREATE PROCEDURE,CREATE FUNCTION,及びCREATE TRIGGERの中で,SQL手続き,SQL関数,及びトリガの動作を定義するために使用できます。
×:使用できません。

注 
ルーチン制御SQL以外の,手続き定義中で指定できるSQL文は,CALL文,CLOSE文,DECLARE CURSOR,DELETE文,FETCH文,INSERT文,OPEN文,PURGE TABLE文,1行SELECT文,UPDATE文,COMMIT文,LOCK文,及びROLLBACK文です。関数の場合は,ルーチン制御SQL以外のSQLは使用できません。

注※1
CREATE PROCEDURE,及びCREATE TRIGGERの中で,SQL手続き,及びトリガの動作を定義する場合は使用できません。

注※2
CREATE FUNCTIONの中で,SQL関数を定義する場合は使用できません。

注※3
CREATE FUNCTIONの中では使用できません。