298 SODAタイプ
SODAタイプには、SODA_DOCUMENT_T、SODA_COLLECTION_T、SODA_OPERATION_TおよびSODA_CURSOR_Tという複数のタイプがあります。SODA_DOCUMENT_TとSODA_COLLECTION_Tは、SODAが提供する2つの主要な抽象化(ドキュメントとコレクション)を表します。SODA_OPERATION_Tは、コレクションに対する操作の条件を指定するために使用します。SODA_CURSOR_Tは、コレクションに対する読取り操作の結果によるカーソルです。
この章のトピックは、次のとおりです:
298.1 SODAタイプの概要
SODAタイプには、SODA_DOCUMENT_T、SODA_COLLECTION_T、SODA_OPERATION_TおよびSODA_CURSOR_Tという複数のタイプがあります。SODA_DOCUMENT_TとSODA_COLLECTION_Tは、SODAが提供する2つの主要な抽象化(ドキュメントとコレクション)を表します。SODA_OPERATION_Tは、コレクションに対する操作の条件を指定するために使用します。SODA_CURSOR_Tは、コレクションに対する読取り操作の結果によるカーソルです。
298.2 SODAタイプのセキュリティ・モデル
SODAタイプは、SODA_APPロールを持つユーザーが使用できます。
SODAタイプはすべてSYSタイプです。PUBLICには、この章で説明するSODAタイプのEXECUTE権限が付与されます。
-
タイプ
SODA_Collection_T -
タイプ
SODA_Document_T -
タイプ
SODA_Operation_T -
タイプ
SODA_Cursor_T
298.3 SODAタイプの要約
この章では、SODAタイプをリストし、それらについて説明します。
表298-1 SODAタイプ
| タイプ | 説明 |
|---|---|
|
この |
|
|
この |
|
|
この |
|
|
この |
298.3.1 SODA_Collection_Tタイプ
このSODAタイプは、SODAコレクションを表します。SODAコレクションの参照は、DBMS_SODA.CREATE_COLLECTION()またはDBMS_SODA.OPEN_COLLECTION()をコールすることによってのみ取得できます。
表298-2 SODA_Collection_Tタイプのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
JSONで表現される索引指定を使用して索引を作成します。 サポートされている指定のタイプは3つあります。それぞれで、異なるタイプの索引(Bツリー索引、データ・ガイドによるJSON検索索引、空間索引)を指定します。 |
|
|
名前付き索引を削除します。 |
|
|
|
|
|
キーと一致するドキュメントをフェッチします。 |
|
|
CLOBとしてJSONデータ・ガイドを返します。 |
|
|
コレクションのメタデータを |
|
|
コレクションの名前を戻します。 |
|
|
ドキュメントをコレクションに挿入します。 |
|
|
ドキュメントをコレクションに挿入し、コンテンツを除くすべてのコンポーネントを含む結果ドキュメントを戻します。 |
|
|
キーと一致するドキュメントを削除します。 |
|
|
キーと一致するドキュメントのコンテンツおよび(オプションで)メディア・タイプを置換します。 |
|
|
キーと一致するドキュメントのコンテンツおよび(オプションで)メディア・タイプを置換し、すべてのコンポーネント(コンテンツを除く)を含む結果ドキュメントを戻します。 |
298.3.1.1 CREATE_INDEXファンクション
このファンクションでは、JSONで表現される索引指定を使用して索引を作成します。サポートされている指定のタイプは3つあります。それぞれで、異なるタイプの索引(Bツリー索引、データ・ガイドによるJSON検索索引、空間索引)を指定します。
構文
CREATE_INDEX (
specification VARCHAR2)
RETURN NUMBER;
パラメータ
表298-3 CREATE_INDEXファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
索引の指定内容。 |
例298-1 戻り値
-
1: 索引が正常に作成された場合。 -
0: 索引が作成されなかった場合。
例外
Error: 索引の作成中にエラーが発生した場合。
参照:
SODA索引の指定内容の詳細は、次を参照してください。
298.3.1.2 DROP_INDEXファンクション
このファンクションでは、名前付き索引を削除します。
構文
DROP_INDEX (
index_Name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE)
RETURN NUMBER;
例298-2 パラメータ
表298-4 DROP_INDEXファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
索引の名前。 |
|
|
forceパラメータは、 詳細は、DROP INDEXを参照してください。 |
戻り値
-
1: 索引が正常に削除された場合。 -
0: 索引が削除されなかった場合。たとえば、指定された名前の既存の索引が存在していなかった場合などです。
例外
Error: 索引の削除中にエラーが発生した場合。
298.3.1.3 FINDファンクション
このファンクションでは、コレクションの操作タイプを返します。操作タイプを使用すると、各種の読取り/書込み操作を作成および実行できます。コンストラクタがないため、これ以外にSODA_Operation_Tの参照を取得する方法はありません。
構文
FIND () RETURN SODA_Operation_T;
戻り値
このファンクションは、SODA_OPERATION_Tオブジェクトを戻します。
例外
このファンクションは、例外をスローしません。
298.3.1.4 FIND_ONEファンクション
このファンクションは、指定されたキーと一致するドキュメントをフェッチします。
構文
FIND_ONE (
key IN VARCHAR2)
RETURN SODA_Document_T;
パラメータ
表298-5 FIND_ONEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
フェッチするドキュメントのキー。 |
戻り値
このファンクションは、キーと一致するドキュメントを戻します。一致するものが見つからない場合は、NULLを戻します。
例外
Error - ドキュメントの検索中にエラーが発生した場合。
298.3.1.5 GET_DATA_GUIDEファンクション
このファンクションでは、CLOBとしてJSONデータ・ガイドをフェッチします。JSONデータ・ガイドは、本質的にはコレクション内のJSONドキュメントに対して推測されるスキーマです。JSONデータ・ガイドを返すには、コレクションにJSON検索索引が定義されていて、データ・ガイドが有効にされている必要があります。
構文
GET_DATA_GUIDE () RETURN CLOB;
例外
Error: データ・ガイドのフェッチ中にエラーが発生した場合。
298.3.1.6 GET_METADATAファンクション
このファンクションは、コレクションのメタデータをJSON形式で戻します。
構文
GET_METADATA () RETURN VARCHAR2;
戻り値
このファンクションは、コレクションのメタデータをJSON形式で戻します。
298.3.1.7 GET_NAMEファンクション
このファンクションは、コレクションの名前を戻します。
構文
GET_NAME () RETURN NVARCHAR2;
戻り値
このファンクションは、コレクションの名前を戻します。
298.3.1.8 INSERT_ONEファンクション
このファンクションは、ドキュメントをコレクションに挿入します。
構文
INSERT_ONE (
document IN SODA_Document_T)
RETURN NUMBER;
パラメータ
表298-6 INSERT_ONEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
入力ドキュメント。 |
戻り値
このファクションは数値を戻します。ドキュメントが正常に挿入された場合は1、それ以外の場合は0です。
例外
Error - ドキュメントをコレクションに挿入しているときにエラーが発生した場合。
298.3.1.9 INSERT_ONE_AND_GETファンクション
このファンクションは、ドキュメントをコレクションに挿入します。
構文
INSERT_ONE_AND_GET (
document IN SODA_Document_T)
RETURN SODA_Document_T;
パラメータ
表298-7 INSERT_ONE_AND_GETファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
入力ドキュメント。 |
戻り値
このファクションは、コンテンツを除き、指定されたコレクションでサポートされているすべてのドキュメント・コンポーネントを含む結果ドキュメントを戻します。
例外
Error - ドキュメントをコレクションに挿入しているときにエラーが発生した場合。
298.3.1.10 REMOVE_ONEファンクション
このファンクションは、指定されたキーと一致するドキュメントを削除します。
構文
REMOVE_ONE (
key IN VARCHAR2)
RETURN NUMBER;
パラメータ
表298-8 REMOVE_ONEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ドキュメントのキー。 |
戻り値
この関数は、次の値を返します。
-
1- ドキュメントが正常に削除された場合。 -
0- 指定されたキーを持つドキュメントが見つからなかった場合。
例外
Error - ドキュメントをコレクションから削除しているときにエラーが発生した場合。
298.3.1.11 REPLACE_ONEファンクション
このファンクションでは、キーを使用して、既存のドキュメントを新しいコンテンツとメディア・タイプで更新します。コンテンツおよびメディア・タイプを除き、documentに設定されているいずれのコンポーネントも置換中に使用されません。それらは無視されます。
構文
REPLACE_ONE (
key IN VARCHAR2,
document IN SODA_Document_T)
RETURN NUMBER;
パラメータ
表298-9 REPLACE_ONEのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ドキュメントのキー。 |
|
|
古いものを置換するための新しいコンテンツとメディア・タイプを含むドキュメント。 |
戻り値
このファクションは数値を返します。ドキュメントが置換された場合は1、それ以外の場合は0です。
例外
Error - コレクション内のドキュメントを置換しているときにエラーが発生した場合。
298.3.1.12 REPLACE_ONE_AND_GETファンクション
このファンクションでは、キーを使用して、既存のドキュメントを新しいコンテンツとメディア・タイプで更新します。コンテンツおよびメディア・タイプを除き、documentに設定されているいずれのコンポーネントも置換中に使用されません。それらは無視されます。
構文
REPLACE_ONE_AND_GET (
key IN VARCHAR2,
document IN SODA_Document_T)
RETURN SODA_Document_T;
パラメータ
表298-10 REPLACE_ONE_AND_GETファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ドキュメントのキー。 |
|
|
古いものを置換するための新しいコンテンツとメディア・タイプを含むドキュメント。 |
戻り値
このファクションは、コンテンツを除き、指定されたコレクションでサポートされているすべてのドキュメント・コンポーネントを含む結果ドキュメントを戻します。指定されたコレクションでサポートされている場合、最終変更およびバージョン・コンポーネントが新しい値で更新されます。指定されたキーを持つドキュメントがコレクション内になかった場合は、結果ドキュメントのかわりにNULLが戻されます。
例外
Error - コレクション内のドキュメントを置換しているときにエラーが発生した場合。
298.3.2 SODA_Document_Tタイプ
このSODAタイプは、コンテンツを含むドキュメント(通常はJSON形式)を表します。
このタイプは、永続化可能なpl/sqlタイプではありません。ただし、SODAは、基本的に永続性を提供するシステムであり、読取りおよび書込み操作があります。そのため、ドキュメント・コンテンツおよびその他のコンポーネントをデータベースに書き込むには、SODA_DOCUMENT_Tを直接永続化せずに、SODA_COLLECTION_Tで定義されている書込み操作(insertやreplaceなど)にこれを渡します。
ドキュメントには、次のコンポーネントがあります。
-
key
-
コンテンツ
-
作成日のタイムスタンプ
-
最終変更のタイムスタンプ
-
バージョン
-
メディア・タイプ
表298-11 SODA_Document_Tタイプのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
|
|
|
|
|
|
作成日のタイムスタンプを |
|
|
ドキュメント・コンテンツの作成に使用されたSQLデータ・タイプをフェッチします。 |
|
|
ドキュメント・キーを |
|
|
最終変更のタイムスタンプを |
|
|
ドキュメント・コンテンツのメディア・タイプを |
|
|
|
|
|
ドキュメントのバージョンを |
|
|
3つの異なる |
298.3.2.1 GET_BLOBファンクション
このファンクションは、ドキュメントのBLOBコンテンツをフェッチします。ドキュメントがBLOBコンテンツで構成されているか、BLOBコンテンツを含むコレクションから戻されたことを前提とします。それ以外の場合はエラーが戻されます。
構文
GET_BLOB () RETURN BLOB;
戻り値
このファンクションは、ドキュメントのBLOBコンテンツを戻します。
例外
SODA Error: ドキュメントが最初にBLOBコンテンツで作成されていなかった場合。
298.3.2.2 GET_CLOBファンクション
このファンクションは、ドキュメントのCLOBコンテンツをフェッチします。ドキュメントがCLOBコンテンツで構成されているか、CLOBコンテンツを含むコレクションから戻されたことを前提とします。それ以外の場合はエラーが戻されます。
構文
GET_CLOB () RETURN CLOB;
戻り値
このファンクションは、ドキュメントのCLOBコンテンツを戻します。
例外
SODA Error: ドキュメントが最初にCLOBコンテンツで作成されていなかった場合。
298.3.2.3 GET_CREATED_ONファンクション
このファンクションは、作成日のタイムスタンプをフェッチします。タイムスタンプ文字列は、ISO-8601形式、具体的にはYYYY-MM-DDThh:mm:ss.ssssssZという形式です。末尾のZが示すように、タイムスタンプはUTCで戻されます(Zは、ゼロのUTCオフセットを示します)。
構文
GET_CREATED_ON () RETURN VARCHAR2;
戻り値
このファンクションは、作成日のタイムスタンプを戻します。
298.3.2.4 GET_DATA_TYPEファンクション
このファンクションは、ドキュメント・コンテンツの作成に使用されたSQLデータ・タイプをフェッチします。
構文
GET_DATA_TYPE () RETURN PLS_INTEGER;
戻り値
表298-12 GET_DATA_TYPEの戻り値
| 定数 | 値 | 説明 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
298.3.2.5 GET_KEYファンクション
このファンクションは、ドキュメント・キーをフェッチします。
構文
GET_KEY () RETURN VARCHAR2;
戻り値
このファンクションは、ドキュメント・キーを戻します。
298.3.2.6 GET_LAST_MODIFIEDファンクション
このファンクションは、最終変更のタイムスタンプをフェッチします。タイムスタンプ文字列は、ISO-8601形式、具体的にはYYYY-MM-DDThh:mm:ss.ssssssZという形式です。末尾のZが示すように、タイムスタンプはUTCで戻されます(Zは、ゼロのUTCオフセットを示します)。
構文
GET_LAST_MODIFIED () RETURN VARCHAR2;
戻り値
このファンクションは、最終変更のタイムスタンプを戻します。
298.3.2.7 GET_MEDIA_TYPEファンクション
このファンクションは、ドキュメント・コンテンツのメディア・タイプをフェッチします。
構文
GET_MEDIA_TYPE () RETURN VARCHAR2;
戻り値
このファンクションは、ドキュメント・コンテンツのメディア・タイプを戻します。application/JSONがJSONドキュメントのメディア・タイプです(デフォルト)。
298.3.2.8 GET_VARCHAR2ファンクション
このファンクションは、ドキュメントのVARCHAR2コンテンツをフェッチします。ドキュメントがVARCHAR2コンテンツで構成されているか、VARCHAR2コンテンツを含むコレクションから戻されたことを前提とします。それ以外の場合はエラーが戻されます。
構文
GET_VARCHAR2 () RETURN VARCHAR2;
戻り値
このファンクションは、ドキュメントのVARCHAR2コンテンツを戻します。
例外
SODA Error: ドキュメントが最初にVARCHAR2コンテンツで作成されていなかった場合。
298.3.2.9 GET_VERSIONファンクション
このファンクションは、ドキュメントのバージョンをフェッチします。
構文
GET_VERSION () RETURN VARCHAR2;
戻り値
このファンクションは、ドキュメントのバージョンを戻します。
298.3.2.10 SODA_Document_Tファンクション
このファンクションは、キー、コンテンツおよびメディア・タイプを使用して、ドキュメント・オブジェクトをインスタンス化します。3つの異なるSODA_DOCUMENT_Tコンストラクタ・ファンクションがあります。2番目のパラメータ(<v|b|c>_Content)が各コンストラクタで異なります。最初のバリアントではVARCHAR2、2番目ではBLOB、3番目ではCLOBです。
構文
キーおよびメディア・タイプは、オプションのパラメータです(デフォルトはNULLです)。3つのパラメータすべてをNULLに設定できます。media_TypeがNULLに設定されている場合、デフォルトでapplication/jsonに設定されます。
SODA_DOCUMENT_T (
key IN VARCHAR2 DEFAULT NULL,
v_Content IN VARCHAR2,
media_Type IN VARCHAR2 DEFAULT NULL)
RETURN SODA_Document_T;
SODA_DOCUMENT_T (
key IN VARCHAR2 DEFAULT NULL,
b_Content IN BLOB,
media_Type IN VARCHAR2 DEFAULT NULL)
RETURN SODA_Document_T;
SODA_DOCUMENT_T (
key IN VARCHAR2 DEFAULT NULL,
c_Content IN CLOB,
media_Type IN VARCHAR2 DEFAULT NULL)
RETURN SODA_Document_T;
パラメータ
表298-13 SODA_Document_Tのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ドキュメントのキー。 |
|
|
|
|
|
|
|
|
|
|
|
ドキュメントのメディア・タイプ。
|
ノート:
v_Content、b_Contentおよびc_Contentがすべて、1つのSODA_DOCUMENT_Tコンストラクタ・ファクションのパラメータであるわけではありません。構文の項に示されているように、それぞれがコンストラクタ・ファンクションの特定のバリアントに対応します。
戻り値
このファクションは、SODA_Document_Tタイプのドキュメントを戻します。
298.3.3 SODA_Operation_Tタイプ
このSODAタイプは、SODAコレクションに対するフィルタリングやページ区切りによるドキュメントの検索、削除と置換など読取り/書込み操作の実行に使用します。
表298-14 SODA_Operation_Tタイプのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
コレクション内で基準に一致するドキュメントの数を返します。このcount()とskip(...)またはlimit(...)が連鎖されていた場合は、例外が発生します。 |
|
|
操作に対するフィルタ(例による問合せ(QBE)とも呼ばれます)の基準を設定します。同じ |
|
|
基準に一致するドキュメントの反復処理に使用できる |
|
|
基準に一致する1つの |
|
|
指定したキーのドキュメントを返すように指定します。このファンクションと 同じ |
|
|
このファンクションに指定したキーと一致するドキュメントを返すように指定します。このファンクションと 同じ |
|
|
操作によって返されるドキュメントの数の制限を設定します。この設定は、 同じ |
|
|
コレクション内で基準に一致するすべてのドキュメントを削除します。削除されたドキュメントの数を返します。 |
|
|
コレクション内の1つのドキュメントを指定されたドキュメントに置き換えます。ドキュメントが置換されたかどうかを示す数値を返します。 現時点では、このファンクションをコールする前に、置換対象のドキュメントを一意に識別するために、ファンクション |
|
|
コレクション内の1つのドキュメントを指定されたドキュメントに置き換えます。ドキュメントが置換された場合は結果ドキュメントを返します。それ以外の場合は 現時点では、このファンクションをコールする前に、置換対象のドキュメントを一意に識別するために、ファンクション このファンクションは、 コンテンツとメディア・タイプを除き、入力ドキュメントで設定されたいずれのコンポーネントも置換中には使用されません。それらは無視されます。 |
|
|
操作基準に一致するドキュメントのうち、操作結果からスキップするドキュメントの数を設定します。この設定は、 同じ |
|
|
指定したバージョンのドキュメントのみを返すように指定します。通常は、 同じ |
298.3.3.1 COUNTファンクション
このファンクションは、コレクション内で基準に一致するドキュメントの数を返します。このcount()とskip(...)またはlimit(...)が連鎖されていた場合は、例外が発生します。
構文
COUNT () RETURN NUMBER;
戻り値
このファンクションは、操作に指定した基準に一致するドキュメントの数を返します。
例外
Error: カウントの調査中にエラーが発生した場合。
298.3.3.2 FILTERファンクション
操作に対するフィルタ(例による問合せ(QBE)とも呼ばれます)の基準を設定します。同じSODA_OPERATION_Tオブジェクトが返されるため、必要に応じてさらに基準を付加できます。
構文
FILTER (
qbe IN VARCHAR2)
RETURN SODA_Operation_T;
パラメータ
表298-15 FILTERファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
例による問合せを表す文字列。 |
戻り値
このファンクションは、起動時と同じSODA_OPERATION_Tオブジェクトを返します。
298.3.3.3 GET_CURSORファンクション
基準に一致するドキュメントの反復処理に使用できるSODA_CURSOR_Tオブジェクトを返します。
構文
(オプション) ここに構文の情報を入力します。
GET_CURSOR () RETURN SODA_Cursor_T;
戻り値
このファンクションは、読取り操作基準と一致するドキュメントの反復処理に使用できるSODA_CURSOR_Tオブジェクトを返します。
例外
SODA Error: カーソルのフェッチ中にエラーが発生した場合。
298.3.3.4 GET_ONEファンクション
基準に一致する1つのSODA_DOCUMENT_Tオブジェクトを返します。複数のドキュメントが基準と一致する場合は、最初のドキュメントのみが返されます。
構文
GET_ONE () RETURN SODA_Document_T;
戻り値
最初に一致するドキュメント。
例外
Error: ドキュメントのフェッチ中にエラーが発生した場合。
298.3.3.5 KEYファンクション
指定したキーのドキュメントを返すように指定します。このファンクションとKEYS(...)に対する以前のコールが同じチェーンに現れるときには、それらのコールが無視されます。同じSODA_OPERATION_Tオブジェクトが返されるため、必要に応じてさらに基準を連結できます。
構文
KEY (
key IN VARCHAR2)
RETURN SODA_Operation_T;パラメータ
表298-16 KEYファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
操作に使用されるキー。 |
戻り値
このファンクションは、起動時と同じSODA_OPERATION_Tオブジェクトを返します。
298.3.3.6 KEYSファンクション
このファンクションに指定したキーと一致するドキュメントを返すように指定します。このファンクションとkey(...)に対する以前のコールが同じチェーンに現れるときには、それらのコールが無視されます。同じSODA_OPERATION_Tオブジェクトが返されるため、必要に応じてさらに基準を連結できます。
構文
KEYS (
key_List IN SODA_Key_List_T)
RETURN SODA_Operation_T;パラメータ
表298-17 KEYSファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
このパラメータは、キーを表す
|
戻り値
このファンクションは、起動時と同じSODA_OPERATION_Tオブジェクトを返します。
298.3.3.7 LIMITファンクション
このファンクションでは、操作によって返されるドキュメントの数の制限を設定します。この設定は、GET_CURSORなどの読取り操作にのみ使用できます。書込み操作については、このメソッドを使用して設定した値は無視されます。同じSODA_OPERATION_Tオブジェクトが返されるため、必要に応じてさらに基準を連結できます。
構文
LIMIT (
limit IN NUMBER)
RETURN SODA_Operation_T;パラメータ
表298-18 LIMITファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
読取り操作によって返される結果の数の制限。 |
戻り値
このファンクションは、起動時と同じSODA_OPERATION_Tオブジェクトを返します。
298.3.3.8 REMOVEファンクション
このファンクションでは、コレクション内で基準に一致するすべてのドキュメントを削除します。削除されたドキュメントの数を返します。
構文
REMOVE () RETURN NUMBER;
戻り値
このファンクションは、操作で削除された一致ドキュメントの数を返します。
例外
Error: ドキュメントの削除中にエラーが発生した場合。
298.3.3.9 REPLACE_ONEファンクション
このファンクションでは、コレクション内の1つのドキュメントを指定されたドキュメントに置き換えます。ドキュメントが置換されたかどうかを示す数値を返します。現時点では、このファンクションをコールする前に、置換対象のドキュメントを一意に識別するために、ファンクションKEY(...)をコールする必要があります。コンテンツとメディア・タイプを除き、入力ドキュメントで設定されたいずれのコンポーネントも置換中には使用されません。それらは無視されます。
構文
REPLACE_ONE (
document IN SODA_Document_T)
RETURN NUMBER;パラメータ
表298-19 REPLACE_ONEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
置換に使用する新しいコンテンツとメディア・タイプが含まれているドキュメント・オブジェクト。 |
戻り値
このファクションは数値を返します。ドキュメントが置換された場合は1、それ以外の場合は0です。
例外
Error: コレクションの更新中にエラーが発生した場合。
298.3.3.10 REPLACE_ONE_AND_GETファンクション
コレクション内の1つのドキュメントを指定されたドキュメントに置き換えます。ドキュメントが置換された場合は結果ドキュメントを返します。それ以外の場合はNULLを返します。現時点では、このファンクションをコールする前に、置換対象のドキュメントを一意に識別するために、ファンクションKEY(...)をコールする必要があります。このファンクションは、REPLACE_ONEと類似しています。唯一の違いは、REPLACE_ONE_AND_GETは、結果ドキュメントとともに更新されたコンポーネント(バージョンや最終変更のタイムスタンプなど)も返すことです。結果ドキュメントにはコンテンツ・コンポーネントが含まれません。コンテンツとメディア・タイプを除き、入力ドキュメントで設定されたいずれのコンポーネントも置換中には使用されません。それらは無視されます。
構文
REPLACE_ONE_AND_GET (
document IN SODA_Document_T)
RETURN SODA_Document_T;パラメータ
表298-20 REPLACE_ONE_AND_GETファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
置換に使用する新しいコンテンツとメディア・タイプが含まれているドキュメント・オブジェクト。 |
戻り値
このファクションは、コンテンツを除き、指定されたコレクションでサポートされているすべてのドキュメント・コンポーネントを含む結果ドキュメントを戻します。指定されたコレクションでサポートされている場合、最終変更およびバージョン・コンポーネントが新しい値で更新されます。指定されたキーを持つドキュメントがコレクション内になかった場合は、結果ドキュメントのかわりにNULLが戻されます。
例外
Error: コレクションの更新中にエラーが発生した場合
298.3.3.11 SKIPファンクション
このファンクションでは、操作基準に一致するドキュメントのうち、操作結果からスキップするドキュメントの数を設定します。この設定は、GET_CURSORなどの読取り操作にのみ使用できます。書込み操作については、このメソッドを使用して設定した値は無視されます。同じSODA_OPERATION_Tオブジェクトが返されるため、必要に応じてさらに基準を連結できます。
構文
SKIP (
offset IN NUMBER)
RETURN SODA_Operation_T;パラメータ
表298-21 SKIPファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
スキップするドキュメントの数。 |
戻り値
このファンクションは、起動時と同じSODA_OPERATION_Tオブジェクトを返します
298.3.3.12 VERSIONファンクション
このファンクションでは、指定したバージョンのドキュメントのみを返すように指定します。通常は、KEY(...)とともに連鎖させて、REMOVEやREPLACEなどの書込み操作のためのオプティミスティック・ロックを実施します。同じSODA_OPERATION_Tオブジェクトが返されるため、必要に応じてさらに基準を連結できます。
構文
VERSION (
version IN VARCHAR2)
RETURN SODA_Operation_T;パラメータ
表298-22 VERSIONファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
操作に使用するドキュメントのバージョン。 |
戻り値
このファンクションは、起動時と同じSODA_OPERATION_Tオブジェクトを返します
298.3.4 SODA_Cursor_Tタイプ
このSODAタイプは、ドキュメントの結果セットを表すために使用します。
表298-23 SODA_Cursor_Tタイプのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
カーソルをクローズします。 |
|
|
次のドキュメントがカーソルに使用できる場合は、 |
|
|
カーソルが指している次のSODAドキュメントを返します。 |
298.3.4.1 CLOSEファンクション
このファンクションでは、カーソルをクローズします。
構文
CLOSE () RETURN BOOLEAN;
例298-3 戻り値
このファンクションは、ブール値を返します。