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