XMLTypeは、システム定義であり、XMLデータを処理するために使用されます。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity Editionは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,
-- 入力された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パスのノードが存在するかどうかを判断します。 |
| XMLTYPE | EXISTSNODEと同様に、ノードが存在する場合はノードの集合を返します。 |