SQL Engine Reference (v11)

データ定義ステートメント

データ定義ステートメントではデータベースの特性を指定できます。これを使ってデータ定義ステートメントを実行すると、Pervasive PSQL によってデータベースの記述がデータ辞書に格納されます。情報の格納や取得を行う前に、辞書内でデータベースを定義する必要があります。

Pervasive PSQL では、データ定義ステートメントを作成して、次のタスクを実行できます。

次のセクションでは、これらのタスクに関連する SQL ステートメントの概要について説明します。データベースの特性の定義に関する一般的な情報については、開発者向けリファレンスの『Pervasive PSQL Programmer's Guide』を参照してください。

テーブルの作成、変更、および削除

データベースのテーブルを作成、変更、および削除するには、次のステートメントを使って SQL を構築します。

表 2 データ定義ステートメント - テーブル
テーブルを定義し、オプションで対応するデータ ファイルを作成します。
テーブル定義に変更を 1 つ追加します。ALTER TABLE ステートメントを使用すると、テーブル定義への列の追加、テーブル定義からの列の削除、列のデータ型やデータ長(あるいは、それ以外の特性)の変更、主キーまたは外部キーの追加や削除、別のデータ ファイルとテーブル定義との関連付けを行うことができます。
データ辞書からテーブルを削除し、オプションで関連するデータ ファイルをディスクから削除します。

ビューの作成と削除

データベースのビューを作成および削除するには、次のステートメントを使って SQL を構築します。

表 3 データ定義ステートメント - ビュー
新規ビューを定義します。
ビューを削除します。

インデックスの作成と削除

データベースのインデックスを作成および削除するには、次のステートメントを使って SQL を構築します。

表 4 データ定義ステートメント - インデックス
既存のテーブルに新しいインデックス(名前付きインデックス)を定義します。
名前付きインデックスを削除します。

トリガーの作成と削除

トリガーを作成および削除するには、次のステートメントを使って SQL を構築します。

表 5 データ定義ステートメント - トリガー
既存のテーブルにトリガーを定義します。
トリガーを削除します。

Pervasive PSQL は、その他の SQL 制御ステートメントも提供しています。これらのステートメントは、トリガー本体内でのみ使用できます。トリガーでは次のステートメントを使用できます。

表 6 データ定義ステートメント - トリガー制御
BEFORE
INSERT、UPDATE、または DELETE オペレーションの前に実行するトリガーを定義します。
AFTER
INSERT、UPDATE、または DELETE オペレーションの後で実行するトリガーを定義します。

ストアド プロシージャの作成と削除

ストアド プロシージャは、あらかじめコンパイルして辞書に保存されている複数のステートメントから成っています。ストアド プロシージャを作成および削除するには、次のステートメントを使用します。

表 7 データ定義ステートメント - ストアド プロシージャ
新しいプロシージャをデータ辞書に保管します。
データ辞書からストアド プロシージャを削除します。

Pervasive PSQL は、その他の SQL 制御ステートメントも提供しています。これらのステートメントは、ストアド プロシージャ本体内でのみ使用できます。ストアド プロシージャでは次のステートメントを使用できます。

表 8 データ定義ステートメント - ストアド プロシージャ制御
「IF」...THEN...ELSE
条件の真偽値に基づいたステートメントの実行制御を可能にします。
ブロックまたはループ ステートメントを抜けて実行を継続します。
ステートメントのブロックの実行を繰り返します。
指定した条件が True である間、ステートメントのブロックの実行を繰り返します。

ユーザー定義関数(UDF)の作成と削除

組み込み関数に加えて、Pervasive PSQL では独自にユーザー定義関数(UDF)を作成し、それを Pervasive PSQL ステートメントで使用することができます。

ユーザー定義関数は一種のデータベース オブジェクトで、再使用できる 1 つ以上の Pervasive PSQL ステートメントをカプセル化したものです。ユーザー定義関数は 0 個以上の入力引数を取り、そこから 1 つの戻り値を求めます。これがスカラー値です。

ユーザー定義関数は常に、データベースのコンテキスト内に定義されます。このステートメントの実行が成功すると、特定のデータベースに UDF 定義が格納されます。格納された UDF は変更したり、呼び出したり、また削除したりできます。

Pervasive PSQL はスカラー ユーザー定義関数をサポートしています。

スカラー ユーザー定義関数は、Pervasive PSQL ステートメントの RETURNS 句で指定されたデータ型の単一値を返します。スカラー UDF には複数の Pervasive PSQL ステートメントを含むことができます。戻り値のデータには、text 型、ntext 型、image 型、cursor 型、または timestamp 型以外であれば、どのデータ型の値でも指定できます。

ユーザー定義関数を作成および削除するには、次のステートメントを使用します。

表 9 データ定義ステートメント - ユーザー定義関数
スカラー ユーザー定義関数をデータベースに作成します。
データベースからスカラー ユーザー定義関数を削除します。


SQL の概要

データ操作ステートメント