CREATEXML 静的関数は、XMLTypeインスタンスを作成して返します。CLOBパラメータには、正しい形式と有効なXMLドキュメントを含める必要があります。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
OceanBaseデータベースの現在のバージョンでは、文字列とCLOBからXMLTypeインスタンスを作成できます。構文は以下のとおりです:
STATIC FUNCTION CREATEXML(
xmlData IN VARCHAR2)
RETURN XMLType;
STATIC FUNCTION CREATEXML(
xmlData IN CLOB)
RETURN XMLType;
パラメータの説明
パラメータ |
説明 |
|---|---|
| xmlData | パラメータのデータ型は CLOB および VARCHAR2 です。入力されたデータが有効なXML DOCUMENT テキストである場合、そのテキストから構成されるXMLType型のデータを返します。 |
例
以下の例では、変数 b は VARACHAR2 型の変数で、その内容は有効なXMLテキストです。a はXMLType型の変数です。5行目の a:=xmltype(b) は、b を使用してXMLType型の値を構築し、それを変数 a に代入します。
obclient> DECLARE
a XMLType;
b VARCHAR2(200):='<?xml version="1.0" encoding="ISO-8859-1"?><note><heading>Reminder</heading></note>';
BEGIN
a:=XMLType.CREATEXML(b);
END;
/
Query OK, 0 rows affected
入力データが有効なXML DOCUMENT テキストでない場合、実行時にエラーが発生します。
obclient> DECLARE
a XMLType;
b VARCHAR2(200):='<?xml version="1.0" encoding="ISO-8859-1"?><note><heading>Reminder</heading></error>';
BEGIN
a:=XMLType.CREATEXML(b);
END;
/
OBE-31011: XML parsing failed
at package body oceanbase.XMLTYPE.CREATEXML , line : 1, col : 0
at anonymous block , line : 5, col : 0