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と同様ですが、ノードが存在する場合は、ノードの集合を返します。 |