2017-09-04 7 views
0

スマート・ユー!私のパッケージでPL/SQL(Oracle)のXMLTYPEへのコレクションのラップ

id NUMBER  name VARCHAR2  info XMLTYPE 
-- 
1    Brad    <?xml version="1.0" encoding="ISO-8859-5"?> 
2    Angelina   <?xml version="1.0" encoding="ISO-8859-5"?> 

私はいくつかのコレクション変数v_tableにそれを選択することができます。

は、私はテーブルを持っているとしましょう。

そして、私はこのように、XMLに変換し、XMLTYPEを返却する必要があります。

<?xml version="1.0" encoding="ISO-8859-5"?> 
<rows> 
    <row> 
     <id type="NUMBER">1</id> 
     <name type="VARCHAR2">Brad</name> 
     <info type="XMLTYPE"><!-- somehow insert here xml, maybe base64 encoded --></info> 
    </row> 
    <row> 
     <id type="NUMBER">2</id> 
     <name type="VARCHAR2">Angelina</name> 
     <info type="XMLTYPE"><!-- somehow insert here xml, maybe base64 encoded --></info> 
    </row> 
</rows> 

だから私はXMLに任意のコレクションを変換するために、いくつかの普遍的な機能を確認する必要があります。残念ながら、私はPL/SQL(MySQL、MsSQLのみ)を知りません。私はちょうど正しい方法を知りません。アドバイスをいただけますか?

PS: "type"属性は必須ではありませんが、クールです。

+1

コレクションを変換する必要がありますか、またはSQLをXMLに直接変換する関数があれば十分でしょうか?パッケージ[DBMS_XMLGEN](https://docs.oracle.com/database/121/ARPLS/d_xmlgen.htm#ARPLS374)はすでにこれを行っています。次に例を示します。 'select dbms_xmlgen.getxml( 'select * from dual')from dual;'。次に、XMLType関数TRANSFORMを使用して結果にスタイルシートを適用できます。 –

+0

私はただのことは分かりません。ありがとうございました! – Levsha

答えて

0

ありがとう、Jon Heller!

パッケージDBMS_XMLGENはすでにこれを行います。デュアルからselect dbms_xmlgen.getxml( 'select * from dual')。次に、XMLType関数TRANSFORMを使用して結果にスタイルシートを適用できます。

関連する問題