sql >> Databáze >  >> RDS >> Oracle

Vložení podřízeného uzlu do sloupce XMLTYPE

Následující kód by měl fungovat pro 11 a 12 (zastaralé):

SELECT insertXMLafter(XMLType('<a><b>1</b><c>3</c></a>'),
                 '/a/b', XmlType('<c>2</c>'))
  FROM dual;

Stejný kód s použitím nové syntaxe XMLQuery:

SELECT XMLQuery('copy $tmp := . modify insert node 
                 <c>2</c>
                 after $tmp/a/b 
                 return $tmp'
                PASSING XmlType('<a><b>1</b><c>3</c></a>') RETURNING CONTENT)
  FROM dual;

Další podrobnosti týkající se XMLQuery a také starých zastaralých funkcí naleznete zde: http://docs.oracle.com/database/121/ADXDB/app_depr_upd.htm#ADXDB6160



  1. Najděte název odkazované tabulky pomocí názvu tabulky, pole a schématu

  2. zřetězit dva databázové sloupce do jednoho sloupce resultset

  3. Funkce SQL velmi pomalá ve srovnání s dotazem bez funkce wrapper

  4. Úvod do kolekcí PL/SQL v databázi Oracle