159 DBMS_SODA
DBMS_SODAパッケージは、Simple Oracle Document Access (SODA)を実装するPL/SQLパッケージです。SODAにより、Oracle DatabaseをNoSQLドキュメント・ストアとして使用できます。SODAが提供している主要な抽象化は、ドキュメント・コレクションの抽象化です。DBMS_SODAパッケージを使用すると、PL/SQLからドキュメント・コレクションを作成、リストおよび削除し、ドキュメントに対してCRUD (作成、置換、更新、削除)操作を実行できます。すべてのDDLファンクションがこのパッケージ内にカプセル化されています。
この章のトピックは、次のとおりです:
159.1 DBMS_SODAのセキュリティ・モデル
このパッケージは、SODA_APPロールを持つユーザーが使用できます。
すべてのSODAタイプ(パッケージおよびタイプ)は、SYSタイプです。PUBLICには、この章で説明するDBMS_SODAに対するEXECUTE権限が付与されます。
159.2 DBMS_SODAサブプログラムの要約
この表は、DBMS_SODAサブプログラムをアルファベット順に示し、簡単に説明しています。
表159-1 DBMS_SODAパッケージのサブプログラム
| サブプログラム | 用途 |
|---|---|
|
コレクション名およびメタデータを使用してコレクションを作成します。 |
|
|
ユーザーのスキーマから既存のコレクションを削除します。これにより、コレクション内のすべてのドキュメントも削除されます。 |
|
|
このファンクションは、現行データベースのSCN番号を戻します。 |
|
|
このファンクションは、現在のデータベース・タイムスタンプ値を戻します。 |
|
|
ユーザーのスキーマ内のコレクション名を |
|
|
既存のコレクションをオープンします。 |
|
|
このファンクションは、データ・ポンプ・インポート中に、コレクション表のバージョン列をUUID値に再マップするために使用します。このファンクションは、データ・ポンプの |
159.2.1 CREATE_COLLECTIONファンクション
コレクション名およびメタデータを使用してコレクションを作成します。メタデータで指定されている設定を使用し、指定されていない設定を自動的に割り当て、コレクション・オブジェクトを戻します。metadata引数が省略されている場合、またはNULLに設定されている場合、コレクションはデフォルトのメタデータを使用して作成されます。戻されたコレクションは、readまたはwrite操作(あるいはその両方)用にオープンされます。コレクションがすでに存在する場合、ファンクションは単にコレクション・オブジェクトをオープンして戻します。
構文
DBMS_SODA.CREATE_COLLECTION (
collection_Name IN NVARCHAR2,
metadata IN VARCHAR2 DEFAULT NULL,
create_Mode IN PLS_INTEGER DEFAULT CREATE_MODE_DDL)
RETURN SODA_Collection_T;パラメータ
表159-2 CREATE_COLLECTIONのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
コレクションの名前。
|
|
|
|
|
create_Mode |
有効な値は、次のとおりです。
|
戻り値
このファンクションは、コレクションを表すSoda_Collection_Tオブジェクトを戻します。
例外
-
Descriptor Error- 入力記述子が無効な場合 -
Error- コレクションの作成中にエラーが発生した場合
159.2.2 DROP_COLLECTIONファンクション
ユーザーのスキーマから既存のコレクションを削除します。これにより、コレクション内のすべてのドキュメントも削除されます。
構文
DBMS_SODA.DROP_COLLECTION (
collection_Name IN NVARCHAR2,
purge IN BOOLEAN DEFAULT FALSE,
drop_Mapped_Table IN BOOLEAN DEFAULT FALSE)
RETURN NUMBER;
パラメータ
表159-3 DROP_COLLECTIONのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
コレクションの名前。
|
|
|
デフォルト値は |
|
|
デフォルト値は |
戻り値
この関数は、次の値を返します。
-
1- コレクションが正常に削除された場合 -
0- コレクションが存在しない場合
例外
コレクションへのコミットされていない書込みや権限の問題などによって、コレクションの削除中にエラーが発生した場合。
159.2.3 GET_AS_OF_SCNファンクション
このファンクションは、現行データベースのSCN番号を戻します。
構文
DBMS_SODA.GET_AS_OF_SCN ( ) RETURN NUMBER;
戻り値
このファンクションは、現行データベースのSCN番号を戻します。
159.2.4 GET_AS_OF_TIMESTAMPファンクション
このファンクションは、現在のデータベース・タイムスタンプ値を戻します。
構文
DBMS_SODA.GET_AS_OF_TIMESTAMP ( ) RETURN NUMBER;
戻り値
このファンクションは、現在のデータベース・タイムスタンプ値を戻します。
159.2.5 LIST_COLLECTION_NAMESファンクション
このファンクションは、ユーザーのスキーマ内のコレクション名のリストをNVARCHAR2の表として戻します。
構文
DBMS_SODA.LIST_COLLECTION_NAMES () RETURN SODA_CollName_List_T;
戻り値
このファンクションは、コレクション名のリストをNVARCHAR2(255)の表として戻します。スキーマ内にコレクションがない場合、コレクション・リストは空になります。
例外
Error - コレクション名のリストを作成しているときにエラーが発生した場合。
159.2.6 OPEN_COLLECTIONファンクション
readまたはwrite操作(あるいはその両方)用に既存のコレクションをオープンします。
構文
DBMS_SODA.OPEN_COLLECTION (
collection_Name IN NVARCHAR2)
RETURN SODA_Collection_T;
パラメータ
表159-4 OPEN_COLLECTIONのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
コレクションの名前。
|
戻り値
この関数は、次の値を返します。
-
オープンしているコレクション・オブジェクト
-
ファイルが存在しない場合は
NULL
例外
Error - コレクションの作成中にエラーが発生した場合
159.2.7 TO_UUIDファンクション
このファンクションは、データ・ポンプ・インポート中に、コレクション表のバージョン列をUUID値に再マップするために使用します。このファンクションは、データ・ポンプのREMAP_DATA機能でのみ使用します。
構文
DBMS_SODA.TO_UUID (
placeholder IN NVARCHAR2)
RETURN VARCHAR2;
パラメータ
表159-5 TO_UUIDのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
このパラメータは、使用されていないため、無視しても問題ありません。これが使用されるのは、データ・ポンプの |
戻り値
このファンクションは、UUID値として使用できる16進数の文字列を戻します。
参照:
Oracle® Databaseユーティリティ・ガイドのREMAP_DATA。