ステートメント
このセクションでは、SQL ステートメントの構文図、セマンティックの説明、規則、および使用例を示します。
これらのステートメントを次の表にリストします。
- SQL ステートメントの呼び出し方法
この章で説明する SQL ステートメントは、実行可能 ステートメントと実行不能 ステートメントに類別されます。 各ステートメントの説明の呼び出し の項に、そのステートメントが実行可能かを示しています。 - SQL 診断情報
データベース・マネージャーは、診断域を使用して、実行可能 SQL ステートメントの実行に関する状況情報と診断情報を保管します。GET DIAGNOSTICS または複合ステートメント 以外の SQL ステートメントが処理される場合、その SQL ステートメントを処理する前に、現行診断域がクリアされます。各 SQL ステートメントが処理されるときに、その SQL ステートメントの実行に関する情報は、1 つ以上の完了条件または例外条件として現行診断域に記録されます。 - ホスト言語アプリケーションにおけるエラー条件と警告条件の検出と処理
各ホスト言語は、診断情報を処理するためのメカニズムを提供します。 - SQL のコメント
ほとんどのホスト言語の場合、静的 SQL ステートメントの中では、ホスト言語または SQL のコメントを使用することができます。 Java™ および REXX の場合、静的 SQL ステートメントの中では、ホスト言語または SQL のコメントを使用することはできません。 - ALLOCATE CURSOR
ALLOCATE CURSOR ステートメントは、カーソルを定義し、それを結果セット・ロ ケーター変数に関連付けます。 - ALLOCATE DESCRIPTOR
ALLOCATE DESCRIPTOR ステートメントは、SQL 記述子を割り振ります。 - ALTER FUNCTION (外部スカラー)
ALTER FUNCTION (外部スカラー) ステートメントは、現行サーバーの外部スカラー関数を変更します。 - ALTER FUNCTION (外部表)
ALTER FUNCTION (外部表) ステートメントは、現行サーバーの外部表関数を変更します。 - ALTER FUNCTION (SQL スカラー)
ALTER FUNCTION (SQL スカラー) ステートメントは、現行サーバーの SQL スカラー関数を変更します。 - ALTER FUNCTION (SQL 表)
ALTER FUNCTION (SQL 表) ステートメントは、現行サーバーの SQL 表関数を変更します。 - ALTER MASK
ALTER MASK ステートメントは、現行サーバーに存在する列マスクを変更します。 - ALTER PERMISSION
ALTER PERMISSION ステートメントは、現行サーバーに存在する行の許可を変更します。 - ALTER PROCEDURE (外部)
ALTER PROCEDURE (外部) ステートメントは、現行サーバーで外部プロシージャーを変更します。 - ALTER PROCEDURE (SQL)
ALTER PROCEDURE (SQL) ステートメントは、現行サーバーでプロシージャーを変更します。 - ALTER SEQUENCE
ALTER SEQUENCE ステートメントを使用して、シーケンスを変更できます。 - ALTER TABLE
ALTER TABLE ステートメントは表の定義を変更します。 - ALTER TRIGGER
ALTER TRIGGER ステートメントは、現行サーバーにあるトリガーの記述を変更します。 - ASSOCIATE LOCATORS
ASSOCIATE LOCATORS ステートメントは、プロシージャーが戻すそれぞれの結果セットについての結果セット・ロケーター変数を入手します。 - BEGIN DECLARE SECTION
BEGIN DECLARE SECTION ステートメントは、SQL 宣言セクションの開始を示します。SQL 宣言セクションには、プログラム内の SQL ステートメントでホスト変数として使用できる有資格ホスト変数の宣言が含まれます。 - CALL
CALL ステートメントはプロシージャーを呼び出します。 - CLOSE
CLOSE ステートメントは、カーソルをクローズします。カーソルのオープン時に結果表が作成された場合は、その表は破棄されます。 - COMMENT
COMMENT ステートメントは、種々のデータベース・オブジェクトのカタ ログ記述にコメントを追加したり、置換したりします。 - COMMIT
COMMIT ステートメントは、作業単位を終了させ、その作業単位によって行われたデータベースの変更をコミットします。 - コンパウンド (動的)
複合 (動的) ステートメントは、他のステートメントを一緒にグループ化して 1 つの実行可能ルーチンに します。複合ステートメントによって、SQL 変数、カーソル、および条件ハンドラーを宣言することができます。 - CONNECT (タイプ 1)
CONNECT (タイプ 1) ステートメントは、リモート作業単位の規則を使用して 、アプリケーション・プロセス内の活動化グループを識別されたアプリケーション・サーバーに 接続します。次に、このサーバーはその活動化グループの現行サーバーになります。 このタイプの CONNECT ステートメントが使用されるのは、RDBCNNMTH(*RUW) が CRTSQLxxx コマンドで指定されている場合です。 - CONNECT (タイプ 2)
CONNECT (タイプ 2) ステートメントは、アプリケーション指向分散作業単位の規則を使用して、アプリケーション・プロセス内の活動化グループを識別されたアプリケーション・サーバーに接続します。次に、このサーバーはその活動化グループの現行サーバーになります。 このタイプの CONNECT ステートメントは、CRTSQLxxx コマンドに RDBCNNMTH(*DUW) の指定があった場合に使用します。 - CREATE ALIAS
CREATE ALIAS ステートメントは、現行またはリモート・サーバーにあるデータベース・ファイルの表、表のパーティション、ビュー、またはメンバーの別名を定義します。 - CREATE FUNCTION
CREATE FUNCTION ステートメントは、現行サーバーでユーザー定義関数を定義します。 - CREATE FUNCTION (外部スカラー)
CREATE FUNCTION (外部スカラー) ステートメントは、現行サーバー上に外部スカラー関数を定義します。ユーザー定義の外部スカラー関数は、呼び出されるたびに単一値を戻します。 - CREATE FUNCTION (外部表)
CREATE FUNCTION (外部表) ステートメントは、現行サーバー上に外部表関数を定義します。この外部表関数は、結果表を戻します。 - CREATE FUNCTION (ソース派生)
この CREATE FUNCTION (ソース化された) ステートメントは、現行サーバーで、他の既存のスカラー関数または集約関数に基づいてユーザー定義の関数を定義します。 - CREATE FUNCTION (SQL スカラー)
CREATE FUNCTION (SQL スカラー) ステートメントは、現行サーバー上 に SQL 関数を作成します。 この関数は、単一の結果を戻します。 - CREATE FUNCTION (SQL 表)
CREATE FUNCTION (SQL 表) ステートメントは、現行サーバー上に SQL 表関数を作成します。 その関数は単一の結果表を戻します。 - CREATE INDEX
CREATE INDEX ステートメントは、現行サーバーで表の索引を作成します。 - CREATE MASK
CREATE MASK ステートメントは、現行サーバーで列アクセス制御の列マスクを作成します。列マスクは、指定された列について戻される値を指定します。 - CREATE PERMISSION
CREATE PERMISSION ステートメントは、現行サーバーで行アクセス制御のための行の許可を作成します。これは search-condition の結果に基づいて 表内の使用可能な行を決定します。 - CREATE PROCEDURE
CREATE PROCEDURE ステートメントは、現行サーバーでプロシージャーを定義します。 - CREATE PROCEDURE (外部)
CREATE PROCEDURE (外部) ステートメントは、現行サーバーで外部プロシージャーを定義します。 - CREATE PROCEDURE (SQL)
CREATE PROCEDURE (SQL) ステートメントは、現行サーバー で SQL プロシージャーを作成します。 - CREATE SCHEMA
CREATE SCHEMA ステートメントは、現行サーバーにスキーマを定義し、オプションとして、表、ビュー、別名、索引、シーケンス、および特殊タイプを作成します。 これらの オブジェクトのカタログ記述内にコメントおよびラベルを加えることができ、ユーザーに特権を付与することができます。 - CREATE SEQUENCE
CREATE SEQUENCE ステートメントはアプリケーション・サーバーでシーケンスを作成します。 - CREATE TABLE
CREATE TABLE ステートメントは、現行サーバーで表を定義します。 この定義には、その表の名前、およびその表の列の名前と属性を含める必要があります。 この定義には、基本キーなど、表の他の属性も含めることができます。 - CREATE TRIGGER
CREATE TRIGGER ステートメントは、現行サーバーでトリガーを定義します。 - CREATE TYPE
CREATE TYPE ステートメントは、ユーザー定義のデータ・タイプを現在のサーバーで定義します。 - CREATE TYPE (配列)
CREATE TYPE (配列) ステートメントは、現行サーバーで配列タイプを定義します。 - CREATE TYPE (特殊)
CREATE TYPE (特殊) ステートメントは、現行サーバー上に特殊タイプを定義します。特殊タイプは、常に組み込みデータ・タイプの 1 つをソースとして作成 されます。 - CREATE VARIABLE
CREATE VARIABLE ステートメントは、アプリケーション・サーバーでグローバル変数を定義します。 - CREATE VIEW
CREATE VIEW ステートメントは、現行サーバーに 1 つ以上の表またはビ ューに関するビューを作成します。 - DEALLOCATE DESCRIPTOR
DEALLOCATE DESCRIPTOR ステートメントは、SQL 記述子を割り振り解除します。 - DECLARE CURSOR
DECLARE CURSOR ステートメントは、カーソルを定義します。 - DECLARE GLOBAL TEMPORARY TABLE
DECLARE GLOBAL TEMPORARY TABLE ステートメントは、現行アプリケーション ・プロセス用の宣言済み一時表を定義します。 宣言済み一時表記述は、システム・カタログには含まれません。 この記述は持続性のあるものではなく、複数のアプリケーション・プロセス間で共用する ことはできません。 同名の宣言済み一時表を定義するアプリケーション・プロセスは、それぞれ固有の一時表の記述を使用します。アプリケーション・プロセスが終了すると、一時表は除去されます。 - DECLARE PROCEDURE
DECLARE PROCEDURE ステートメントは、外部プロシージャーを定義します。 - DECLARE STATEMENT
DECLARE STATEMENT ステートメントは、プログラムの文書化の目的に使用します。 このステートメントは、準備される SQL ステートメントを識別するのに使用する名前を宣言します。 - DECLARE VARIABLE
DECLARE VARIABLE ステートメントは、ホスト変数に対して、デフォルト値以外のサブタイプまたは CCSID を割り当てるのに使用します。 - DELETE
DELETE ステートメントは、表またはビューから行を削除します。 INSTEAD OF DELETE トリガーが定義されていないビューから行を削除すると、そのビューの元になっている表から行が削除されます。そのようなトリガーが定義されていれば、代わりにこのトリガーが活動化されます。 - DESCRIBE
DESCRIBE ステートメントは、準備済みステートメントに関する情報の入手に使用します。 - DESCRIBE CURSOR
DESCRIBE CURSOR ステートメントは、カーソルに関する情報を取得します。列情報などの情報は、記述子に入れられます。 - DESCRIBE INPUT
DESCRIBE INPUT ステートメントは、準備済みステートメントの IN および INOUT パラメーター・マーカーに関する情報を取得します。 - DESCRIBE PROCEDURE
DESCRIBE PROCEDURE ステートメントは、プロシージャーが戻した結果セットについての情報を入手します。結果セットなどの情報は、記述子 に入れられます。 - DESCRIBE TABLE
DESCRIBE TABLE ステートメントは、表またはビューに関する情報を入手します。 - DISCONNECT
DISCONNECT ステートメントは、無保護会話の 1 つ以上の接続を終了させます。 - DROP
DROP ステートメントは、オブジェクトを除去します。 削除されるオブジェクトに直接または間接的に依存しているオブジェクトも除去できます。 - END DECLARE SECTION
END DECLARE SECTION ステートメントは、SQL 宣言セクションの終わりを示します。 - EXECUTE
EXECUTE ステートメントは、準備済み SQL ステートメントを実行します。 - EXECUTE IMMEDIATE
EXECUTE IMMEDIATE ステートメントは、PREPARE ステートメントと EXECUTE ステートメントの基本機能を結合したものです。 このステートメントは、変数もパラメーター・マーカーも含まない SQL ステートメントを準備し、 実行するのに使用することができます。 - FETCH
FETCH ステートメントは、カーソルを結果表の行に位置付けます。FETCH ステートメントは、 ゼロ、1 つ、または複数の行を戻すこともでき、戻された行の値を変数に割り当てます。 - FREE LOCATOR
FREE LOCATOR ステートメントは、ロケーター変数とその値の間の関連を除去します。 - GET DESCRIPTOR
GET DESCRIPTOR ステートメントは、SQL 記述子から情報を取得します。 - GET DIAGNOSTICS
GET DIAGNOSTICS ステートメントは、直前に実行された SQL ステートメントに関する情報を取得します。 - GRANT (関数特権またはプロシージャー特権)
この形式の GRANT ステートメントは、関数またはプロシージャーに対する特権を認可します。 - GRANT (パッケージ特権)
この形式の GRANT ステートメントは、パッケージに対する特権を認可します。 - GRANT (シーケンス特権)
この形式の GRANT ステートメントは、シーケンスに対する特権を認可します。 - GRANT (表またはビューの特権)
この形式の GRANT ステートメントは、表またはビューに対する特権を認可します。 - GRANT (タイプ特権)
この形式の GRANT ステートメントは、タイプに対する特権を認可します。 - GRANT (変数特権)
この形式の GRANT ステートメントは、グローバル変数に対する特権を認可します。 - GRANT (XML スキーマ特権)
この形式の GRANT ステートメントは、XSR オブジェクトに対する特権を認可します。 - HOLD LOCATOR
HOLD LOCATOR ステートメントを使用すれば、作業単位が変わっても LOB ロケーター変数または XML ロケーター変数が値との関連を保持できるようになります。 - INCLUDE
INCLUDE ステートメントは、宣言とステートメントを含むアプリケーション・コードをソース・プログラムに挿入します。 - INSERT
INSERT ステートメントは、表またはビューに行を挿入します。 ビューで INSTEAD OF INSERT トリガーが定義されていない場合にそのビューに行を挿入すると、そのビューの基礎になっている表にも行が挿入されます。 そのようなトリガーが定義されていれば、代わりにこのトリガーが活動化されます。 - LABEL
LABEL ステートメントは、種々のデータベース・オブジェクトのカタ ログ記述にラベルを追加したり、置換したりします。 - LOCK TABLE
LOCK TABLE ステートメントは、並行して実行されるアプリケーション・プロセスによる表の変更や表の使用を防止します。 - MERGE
MERGE ステートメントは、ソース (表参照の結果) のデータを使用してターゲット (表またはビュー) を更新します。入力データと一致する行がターゲットに存在する場合は、その行を指定内容に基づいて更新/削除できます。ターゲットに存在しない行を指定内容に基づいて挿入することも可能です。 ビューの行を更新/削除/挿入すると、そのビューで INSTEAD OF トリガーが定義されていない限り、ビューの基本表の行も更新/削除/挿入されます。 - OPEN
OPEN ステートメントは、カーソルをオープンして、カーソルの結果表から行を取り出せるようにします。 - PREPARE
PREPARE ステートメントは、文字ストリング形式のステートメントから実行可能な 形式の SQL ステートメントを作成します。このような文字ストリング形式は、 ステートメント・ストリング と呼ばれ、 実行可能な形式は、準備済みステートメント と呼ばれます。 - REFRESH TABLE
REFRESH TABLE ステートメントは、マテリアライズ照会表のデータをリフレッシュします。 このステートメントはマテリアライズ照会表のすべての行を削除してから、 マテリアライズ照会表の定義で指定された選択ステートメント にある結果行を挿入します。 - RELEASE (接続)
RELEASE ステートメントは、1 つ以上の接続を解放ペンディング状態にします。 - RELEASE SAVEPOINT
RELEASE SAVEPOINT ステートメントは、現行サーバーの 1 つの作業単位内で、 指定されたセーブポイントとそれ以降に確立されたすべてのセーブポイントを解放します。 - RENAME
RENAME ステートメントは、表、ビュー、または索引の名前を変更します。 表、ビュー、または索引の名前またはシステム・オブジェクト名 (あるいは 、その両方) を変更できます。 - REVOKE (関数特権またはプロシージャー特権)
この形式の REVOKE ステートメントは、関数またはプロシージャーに対する特権を除去します。 - REVOKE (パッケージ特権)
この形式の REVOKE ステートメントは、パッケージに対する特権を除去します。 - REVOKE (シーケンス特権)
この形式の REVOKE ステートメントは、シーケンスに対する特権を除去します。 - REVOKE (表またはビューの特権)
この形式の REVOKE ステートメントは、表またはビューに対する特権を除去します。 - REVOKE (タイプ特権)
この形式の REVOKE ステートメントは、タイプに対する特権を除去します。 - REVOKE (変数特権)
この形式の REVOKE ステートメントは、作成されたグローバル変数に対する特権を除去します。 - REVOKE (XML スキーマ特権)
この形式の REVOKE ステートメントは、XSR オブジェクトに対する特権を除去します。 - ROLLBACK
ROLLBACK ステートメントは、変更をバックアウトするために使用します。 - SAVEPOINT
SAVEPOINT ステートメントは、作業単位内にセーブポイントを設定します。 セーブポイントは作業単位内の特定時点を表すもので、リレーショナル・ データベースに対する変更をその時点までロールバックすることができます。 - SELECT
SELECT ステートメントは、照会の形式の 1 つです。 SQLJ アプリケーション・プログラムに組み込むことも、対話式に実行することもできます。 - SELECT INTO
SELECT INTO ステートメントは、1 行以内で構成される結果表を作成し、 その行の値を変数に割り当てます。 - SET CONNECTION
SET CONNECTION ステートメントは、既存の接続の 1 つを識別することによって、 活動化グループの現行サーバーを確立します。 - SET CURRENT DEBUG MODE
SET CURRENT DEBUG MODE ステートメントは、値を CURRENT DEBUG MODE 特殊レジスターに割り当てます。 - SET CURRENT DECFLOAT ROUNDING MODE
SET CURRENT DECFLOAT ROUNDING MODE ステートメントは、CURRENT DECFLOAT ROUNDING MODE 特殊レジスターの値を変更します。 - SET CURRENT DEGREE
SET CURRENT DEGREE ステートメントは、値を CURRENT DEGREE 特殊レジスターに割り当てます。 - SET CURRENT TEMPORAL SYSTEM_TIME
SET CURRENT TEMPORAL SYSTEM_TIME ステートメントは、CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターの値を変更します。 - SET DESCRIPTOR
SET DESCRIPTOR ステートメントは、SQL 記述子に情報を設定します。 - SET ENCRYPTION PASSWORD
SET ENCRYPTION PASSWORD ステートメントは、 暗号化および暗号化解除の機能で使用されるデフォルトのパスワードおよびヒントを設定します。 このパスワードは認証に関するものではなく、 データの暗号化および暗号化解除にのみ使用されます。 - SET OPTION
SET OPTION ステートメントは、SQL ステートメントで使用される処理オプションを設定します。 - SET PATH
SET PATH ステートメントは、CURRENT PATH 特殊レジスターの値を変更します。 - SET RESULT SETS
SET RESULT SETS ステートメントでは、プロシージャーから返すことができる結果セットを指定します。 - SET SCHEMA
SET SCHEMA ステートメントは、CURRENT SCHEMA 特殊レジスターの値を変更します。 - SET SESSION AUTHORIZATION
SET SESSION AUTHORIZATION ステートメントは、SESSION_USER および USER 特殊レジスターの値を変更します。 また、現行スレッドに関連したユーザー・プロファイルの名前も変更します。 - SET TRANSACTION
SET TRANSACTION ステートメントは、現行の作業単位の分離レベル、 読み取り専用属性、または診断領域サイズを設定します。 - SET 遷移変数
SET 遷移変数ステートメントは、新しい遷移変数に値を割り当てます。 - SET 変数
SET 変数ステートメントは、1 行以内で構成される結果表を作成し、その行の値を変数に割り当てます。 - SIGNAL
SIGNAL ステートメントは、エラー条件または警告条件を通知します。 これは、指定の SQLSTATE とオプションの条件情報項目 を使用して、 エラーまたは警告を戻します。 - TRANSFER OWNERSHIP
TRANSFER OWNERSHIP ステートメントは、データベース・オブジェクトの所有権を転送します。 - TRUNCATE
TRUNCATE ステートメントは、表からすべての行を削除します。 - UPDATE
UPDATE ステートメントは、表またはビューの行の指定した列の値を更新します。 このビューに対して INSTEAD OF UPDATE トリガーが定義されていない場合、 ビューの行を更新すると、そのビューの基本表の行が更新されます。 そのようなトリガーが定義されていれば、代わりにこのトリガーが活動化されます。 - VALUES
VALUES ステートメントは、照会の 1 つの形式です。 SQLJ アプリケーション・プログラムに組み込むことも、対話式に実行することもできます。 - VALUES INTO
VALUES INTO ステートメントは、1 行以内で構成される結果表を作成し、その行の値を変数に割り当てます。 - WHENEVER
WHENEVER ステートメントは、指定した例外条件が発生した場合にとるべきアクションを指定します。
親トピック: DB2 for i SQL 解説書