Ho esperienza nell'utilizzo di MSSQL 2008 e di recente ho dovuto passare da MSSQL a Oracle 10g. Le persone che hanno progettato la tabella (Oracle), che ha una colonna di cui ho bisogno per estrarre i dati, hanno utilizzato una colonna di tipo BLOB
per l'XML che devono memorizzare.convertire blob oracle in xml tipo
In MSSQL si sarebbe semplicemente memorizzata la stringa XML in un tipo XML
o utilizzato un VARCHAR(MAX)
. Assumere un tavolo myTable
con una colonna chiamata myColumn
che è un VARCHAR(MAX)
contenente <ROOT><a>111</a></ROOT>
Se si voleva convertire il tipo VARCHAR(MAX)
a un tipo XML
si dovrebbe semplicemente scrivere qualcosa di simile:
SELECT CONVERT(XML, myColumn) FROM myTable
se si voleva, si potrebbe quindi usare XQuery per ottenere i dati dalla colonna convertito, in questo modo:
SELECT CONVERT(XML, myColumn).query('/ROOT/a')
Come vi ottenere la stessa cosa in Oracle 10g se MyColumn era un BLOB
, senza dover scrivere una stored procedure, ma ancora m rendendolo riutilizzabile? Il testo nel BLOB è UFT-8
.
Apprezzerei molto la vostra assistenza, in quanto ho bisogno di questo in fretta.
Hi Davmos la ringrazio molto per la risposta, sto provando che la soluzione che ti ha dato. Ti farò sapere come funziona. – user1279734
Ciao Davmos, continuo a recuperare un clob invece di XMLTYPE, come ottengo un tipo xml? – user1279734
Salve @ user1279734, la funzione sopra riportata può restituire solo 'XMLTYPE'. Come lo chiami? – davmos