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