プログラムパッケージSTANDARDは、PL環境を定義します。プログラムパッケージヘッダーでは、PLプログラムで使用可能な共通型、変数、例外、およびサブルーチンが宣言されています。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供しています。
システムパッケージSTANDARDの内容はアプリケーションから直接参照でき、ユーザーはプログラムパッケージ名の前に接頭辞を付けることなく、データベーストリガー、ストレージされたサブルーチン、またはOceanBaseツールから直接呼び出すことができます。
説明
OceanBaseデータベースのシステム関数は、STANDARDパッケージに登録されていません。現行バージョンのSTANDARDパッケージは、事前定義されたデータ型、定数、および例外のみをサポートしています。
プリコンパイルされたデータ型
次の表は、現行バージョンのSTANDARDプログラムパッケージでサポートされているプリコンパイルされたデータサブタイプです。
| プリディファインドサブタイプ | 値の説明 |
|---|---|
| DOUBLE PRECISION | FLOAT |
| DEC | DECIMAL |
| STRING | VARCHAR2(32760) |
| LONG | VARCHAR2(32760) |
| CHARACTER VARYING | VARCHAR(32767) |
| CHAR VARYING | VARCHAR(32767) |
| CHARACTER LARGE OBJECT | CLOB |
| BINARY LARGE OBJECT | BLOB |
| CHAR LARGE OBJECT | CLOB |
| TIMESTAMP_UNCONSTRAINED | TIMESTAMP(9) |
| TIMESTAMP_TZ_UNCONSTRAINED | TIMESTAMP(9) WITH TIME ZONE |
| YMINTERVAL_UNCONSTRAINED | INTERVAL YEAR(9) TO MONTH |
| DSINTERVAL_UNCONSTRAINED | INTERVAL DAY(9) TO SECOND(9) |
| TIMESTAMP_LTZ_UNCONSTRAINED | TIMESTAMP(9) WITH LOCAL TIME ZONE |
以下のデータ型はジェネリックであり、STANDARDプログラムパッケージおよびその他の一部のパッケージ専用であり、他の用途には使用できません。ジェネリックデータ型はまだ言語の一部となっていないことに注意する必要があります。
| 汎型データ型 | 値の説明 |
|---|---|
| <ADT_1> | RECORD (DUMMY CHAR(1)) |
| <RECORD_1> | RECORD (DUMMY CHAR(1)) |
| <TUPLE_1> | RECORD (DUMMY CHAR(1)) |
| <VARRAY_1> | VARRAY(1) OF CHAR(1) |
| <V2_TABLE_1> | TABLE OF CHAR(1) INDEX BY BINARY_INTEGER |
| <TABLE_1> | TABLE OF CHAR(1) |
| <COLLECTION_1> | TABLE OF CHAR(1) |
| <REF_CURSOR_1> | REF CURSOR |
| <TYPED_TABLE> | TABLE OF <ADT_1> |
| <ADT_WITH_OID> | <TYPED_TABLE> |
PLコンパイラは、次のジェネリックインデックステーブルデータ型を使用して、インスタンス化された配列プロパティを実装します。
| ジェネリックインデックステーブルデータ型 | 値の説明 |
|---|---|
| SYS $ INT_V2TABLE | binary_integerで表される整数インデックステーブル |
PLコンパイラは、次のレコードタイプと対応するジェネリックインデックステーブルデータ型を使用して、テーブル実行時にFORALL一括バインディングステートメントの実行によって引き起こされる例外を記録します。
| レコードタイプ | 値の説明 |
|---|---|
| SYS$BULK_ERROR_RECORD | RECORD (ERROR_INDEX PLS_INTEGER,ERROR_CODE PLS_INTEGER) |
| SYS$REC_V2TABLE | TABLE OF CHAR(1) |
次の表は、すべての不透明なジェネリックデータ型です。
| 不透明 ジェネリックデータ型 | 値の説明 |
|---|---|
| <ASSOC_ARRAY_1> | TABLE OF CHAR(1) INDEX BY VARCHAR2(1) |
プリファード例外
| 定義済み例外 | コンパイル命令 |
|---|---|
| CURSOR_ALREADY_OPEN | EXCEPTION_INIT(CURSOR_ALREADY_OPEN, '-5589') |
| DUP_VAL_ON_INDEX | EXCEPTION_INIT(DUP_VAL_ON_INDEX, '-5024') |
| TIMEOUT_ON_RESOURCE | EXCEPTION_INIT(TIMEOUT_ON_RESOURCE, '-5848') |
| INVALID_CURSOR | EXCEPTION_INIT(INVALID_CURSOR, '-5844') |
| NOT_LOGGED_ON | EXCEPTION_INIT(NOT_LOGGED_ON, '-5846') |
| LOGIN_DENIED | EXCEPTION_INIT(LOGIN_DENIED, '-5845') |
| NO_DATA_FOUND | EXCEPTION_INIT(NO_DATA_FOUND, '-4026') |
| ZERO_DIVIDE | EXCEPTION_INIT(ZERO_DIVIDE, '-4333') |
| INVALID_NUMBER | EXCEPTION_INIT(INVALID_NUMBER, '-5114') |
| TOO_MANY_ROWS | EXCEPTION_INIT(TOO_MANY_ROWS, '-5294') |
| STORAGE_ERROR | EXCEPTION_INIT(STORAGE_ERROR, '-5842') |
| PROGRAM_ERROR | EXCEPTION_INIT(PROGRAM_ERROR, '-5840') |
| VALUE_ERROR | EXCEPTION_INIT(VALUE_ERROR, '-5677') |
| ACCESS_INTO_NULL | EXCEPTION_INIT(ACCESS_INTO_NULL, '-5837') |
| COLLECTION_IS_NULL | EXCEPTION_INIT(COLLECTION_IS_NULL , '-5838') |
| SUBSCRIPT_OUTSIDE_LIMIT | EXCEPTION_INIT(SUBSCRIPT_OUTSIDE_LIMIT,'-5843') |
| SUBSCRIPT_BEYOND_COUNT | EXCEPTION_INIT(SUBSCRIPT_BEYOND_COUNT ,'-5828') |
| ROWTYPE_MISMATCH | EXCEPTION_INIT(ROWTYPE_MISMATCH, '-5841') |
| SYS_INVALID_ROWID | EXCEPTION_INIT(SYS_INVALID_ROWID, '-5802') |
| SELF_IS_NULL | EXCEPTION_INIT(SELF_IS_NULL, '-5847') |
| CASE_NOT_FOUND | EXCEPTION_INIT(CASE_NOT_FOUND, '-5571') |
| NO_DATA_NEEDED | EXCEPTION_INIT(NO_DATA_NEEDED, '-5839') |