XMLTypeはシステム定義のデータ型であり、XMLデータを処理するために使用されます。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise版にのみ適用されます。OceanBaseデータベースCommunity版はMySQLモードのみを提供します。
PL XMLType は、XMLType型を返す任意のSQL式をサポートしています。SQLのコンテキストでは、GETCLOBVAL() および GETSTRINGVAL() メソッドを使用できます。例を以下に示します。
-- 入力されたxslを、その中で定義されたxsl:stylesheetに従ってフォーマットし、XMLType型の値を返します。
MEMBER FUNCTION TRANSFORM(xsl IN XMLTYPE) RETURN XMLTYPE,
-- XMLTypeをCLOBまたはVARCHAR2に変換する関数
MEMBER FUNCTION GETCLOBVAL RETURN CLOB,
MEMBER FUNCTION GETSTRINGVAL RETURN VARCHAR2,
-- XMLTypeをPL/SQLオブジェクトインスタンスにマッピングします。
MEMBER PROCEDURE TOOBJECT(object OUT NOCOPY <object_type>),
-- 入力されたCLOBまたはVARCHAR2をXMLTypeに変換します。妥当性チェックが実行されます。
STATIC FUNCTION CREATEXML(xmldata IN CLOB) RETURN XMLTYPE,
STATIC FUNCTION CREATEXML(xmldata IN VARCHAR2) RETURN XMLTYPE,
-- XMLTypeデータ型のインスタンスを構築する
CONSTRUCTOR FUNCTION XMLTYPE(xmldata IN CLOB) RETURN SELF AS RESULT,
CONSTRUCTOR FUNCTION XMLTYPE(xmldata IN VARCHAR2) RETURN SELF AS RESULT
次の表は、OceanBaseデータベースの現在のバージョンでサポートされているXMLTypeサブプログラムとその簡潔な説明です。
サブプログラム |
説明 |
|---|---|
| CREATEXML | XMLTypeインスタンスを作成して返すための静的関数。 |
| GETCLOBVAL | XMLTypeインスタンスの値をCLOB形式で返します。 |
| GETSTRINGVAL | XMLTypeインスタンスの値を文字列形式で返します。 |
| TRANSFORM | XMLTypeインスタンスと関連するスタイルシート(これもXMLTypeインスタンス)を取得し、そのスタイルシートを適用して結果をXMLとして返します。 |
| XMLTYPE | XMLTypeデータ型のインスタンスを構築します。コンストラクタは、XMLをCLOB、VARCHAR2、または対応するオブジェクト型として受け取ることができます。 |
| EXISTSNODE | XML変数にXPathで指定したパスのノードが存在するかどうかを判断します。 |
| EXTRACT | EXISTSNODEと同様ですが、ノードが存在する場合は、ノードの集合を返します。 |
| TOOBJECT | XMLTypeインスタンスをPL/SQLオブジェクトインスタンスにマッピングします(V4.4.2 BP3からサポート)。 |