ヘッダーをスキップ
Oracle® Database PL/SQL言語リファレンス
11gリリース2 (11.2)
B56260-09
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

ブロック

関連する宣言および文をグループ化するブロックは、PL/SQLソース・プログラムの基本単位です。オプションの宣言部、必須の実行部、オプションの例外処理部が含まれます。宣言はブロックに対してローカルで、そのブロックの実行が完了するとなくなります。ブロックはネストできます。

無名ブロックは実行可能文です。

ここでのトピック

構文

plsql_block ::=

plsql_block.gifの説明が続きます
plsql_block.gifの説明

body ::=」を参照してください。

declare_section ::=

declare_section.gifの説明が続きます
declare_section.gifの説明

item_list_2 ::=」を参照してください。

item_list_1 ::=

item_list_1.gifの説明が続きます
item_list_1.gifの説明

参照:

item_list_2 ::=

item_list_2.gifの説明が続きます
item_list_2.gifの説明

参照:

type_definition ::=

type_definition.gifの説明が続きます
type_definition.gifの説明

参照:

subtype_definition ::=

subtype_definition.gifの説明が続きます
subtype_definition.gifの説明

constraint ::=

constraint.gifの説明が続きます。
constraint.gifの説明

item_declaration ::=

item_declaration.gifの説明が続きます
item_declaration.gifの説明

参照:

pragma ::=

pragma.gifの説明が続きます
pragma.gifの説明

参照:

body ::=

body.gifの説明が続きます
body.gifの説明

参照:

statement ::=

statement.gifの説明が続きます
statement.gifの説明

参照:

procedure_call ::=

procedure_call.gifの説明が続きます
procedure_call.gifの説明

sql_statement ::=

sql_statement.gifの説明が続きます
sql_statement.gifの説明

セマンティクス

plsql_block

label

ブロックで一意である未宣言の識別子。

DECLARE

ブロックの宣言部を開始します。

declare_section

ローカル宣言を置きます。ローカル宣言はこのブロックとこのブロックのサブブロックにのみ存在し、外側のブロックからは見えません。

declare_sectionの制限 

  • create_packagecreate_package_bodyまたはcompound_trigger_blockdeclare_sectionには、PRAGMA AUTONOMOUS_TRANSACTIONを含めることはできません。

  • trigger_bodyまたはtps_bodydeclare_sectionでは、データ型LONGまたはLONG RAWの変数を宣言できません。


関連項目:

  • create_packageの詳細は、「CREATE PACKAGE文」を参照してください。

  • create_package_bodyの詳細は、「CREATE PACKAGE BODY文」を参照してください。

  • compound_trigger_blocktrigger_bodyおよびtps_bodyの詳細は、「CREATE TRIGGER文」を参照してください。


subtype_definition

サブタイプ

定義するユーザー定義のサブタイプの名前。

base_type

定義しているサブタイプのベース型。base_typeは、CHARDATEまたはRECORDなどのスカラーまたはユーザー定義のPL/SQLデータ型指定子です。

CHARACTER SET character_set

文字データ型のサブタイプのキャラクタ・セットを指定します。

CHARACTER SET character_setの制限 base_typeが文字データ型でない場合は、この句を指定しないでください。

NOT NULL

このサブタイプを使用して宣言されるデータ項目にNOT NULL制約を付けます。この制約の詳細は、「NOT NULL制約」を参照してください。

constraint

数値データ型のサブタイプの制約を指定します。

constraintの制限 base_typeが数値データ型でない場合は、constraintを指定しないでください。

precision

数値データ型の制約付きサブタイプの精度を指定します。

precisionの制限 base_typeに精度を指定できない場合は、precisionを指定しないでください。

scale

数値データ型の制約付きサブタイプの位取りを指定します。

scaleの制限 base_typeに位取りを指定できない場合は、scaleを指定しないでください。

RANGE low_value .. high_value

数値データ型の制約付きサブタイプの範囲を指定します。low_valuehigh_valueは数値リテラルである必要があります。

RANGE high_value .. low_valueの制限 この句は、base_typePLS_INTEGERまたはPLS_INTEGERのサブタイプの場合(事前定義またはユーザー定義の場合)にのみ指定してください。(表3-3に、PLS_INTEGERの事前定義のサブタイプの概要を示しています。範囲を指定できるユーザー定義のサブタイプの詳細は、「制約付きサブタイプ」を参照してください。)

body

BEGIN

ブロックの実行部を開始します。実行部には実行可能文が置かれます。

EXCEPTION

ブロックの例外処理部を開始します。PL/SQLによって例外が呼び出されると、ブロックの通常の実行が停止され、制御が適切なexception_handlerに移ります。例外ハンドラが終了すると、ブロック直後の文から実行が再開されます。例外処理の詳細は、第11章「PL/SQLのエラー処理」を参照してください。

exception_handler

詳細は、「例外ハンドラ」を参照してください。

END

ブロックを終了します。

name

ENDが適用されるブロックの名前(ラベル、ファンクション名、プロシージャ名またはパッケージ名)。

statement

label

文で一意である未宣言の識別子。

assignment_statement

詳細は、「代入文」を参照してください。

basic_loop_statement

詳細は、「基本LOOP文」を参照してください。

case_statement

詳細は、「CASE文」を参照してください。

close_statement

詳細は、「CLOSE文」を参照してください。

collection_method_call

次のいずれかのコレクション・メソッドの起動。これらコレクション・メソッドはプロシージャです。

  • DELETE

  • EXTEND

  • TRIM

構文の詳細は、「コレクション・メソッドの起動」を参照してください。

continue_statement

詳細は、「CONTINUE文」を参照してください。

cursor_for_loop_statement

詳細は、「カーソルFOR LOOP文」を参照してください。

execute_immediate_statement

詳細は、「EXECUTE IMMEDIATE文」を参照してください。

exit_statement

詳細は、「EXIT文」を参照してください。

fetch_statement

詳細は、「FETCH文」を参照してください。

for_loop_statement

詳細は、「FOR LOOP文」を参照してください。

forall_statement

詳細は、「FORALL文」を参照してください。

goto_statement

詳細は、「GOTO文」を参照してください。

if_statement

詳細は、「IF文」を参照してください。

null_statement

詳細は、「NULL文」を参照してください。

open_statement

詳細は、「OPEN文」を参照してください。

open_for_statement

詳細は、「OPEN FOR文」を参照してください。

pipe_row_statement

詳細は、「PIPE ROW文」を参照してください。

pipe_row_statementの制限 この文を使用できるのは、パイプライン・テーブル・ファンクションの本体内のみです。他の場所で使用するとPL/SQLによって例外が呼び出されます。

raise_statement

詳細は、「RAISE文」を参照してください。

return_statement

詳細は、「RETURN文」を参照してください。

select_into_statement

詳細は、「SELECT INTO文」を参照してください。

while_loop_statement

詳細は、「WHILE LOOP文」を参照してください。

procedure_call

procedure

起動するプロシージャの名前。

parameter [, parameter ]...

起動するプロシージャの実パラメータのリスト。各実パラメータのデータ型は、対応する仮パラメータのデータ型と互換性がある必要があります。使用できる実パラメータは仮パラメータのモードで決まります。

仮パラメータのモード 実パラメータ
IN 定数、初期化された変数、リテラルまたは式
OUT データ型がNOT NULLとして定義されていない変数
IN OUT 変数(通常は、文字列バッファまたは数値アキュムレータ)

プロシージャによってパラメータのデフォルト値が指定される場合は、パラメータ・リストでそのパラメータを省略できます。プロシージャにパラメータがない場合、またはプロシージャによってすべてのパラメータにデフォルト値が指定される場合は、パラメータ・リストを省略するか、または空のパラメータ・リストを指定することができます。

sql_statement

commit_statement

SQL COMMIT文。構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

delete_statement

SQL DELETE文。構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。「DELETE文の拡張機能」も参照してください。

insert_statement

SQL INSERT文。構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。「INSERT文の拡張機能」も参照してください。

lock_table_statement

SQLのLOCK TABLE文。構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

merge_statement

SQL MERGE文。構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

rollback_statement

SQL ROLLBACK文。構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

savepoint_statement

SQL SAVEPOINT文。構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

set_transaction_statement

SQLのSET TRANSACTION文。構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

update_statement

SQL UPDATE文。構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。「UPDATE文の拡張機能」も参照してください。