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 戻り値
このファンクションは、ブール値を返します。