Utilizzando XML Extender è possibile inserire documenti XML integri in una colonna XML. Se si definiscono tabelle laterali, XML Extender automaticamente aggiorna tali tabelle. Quando si memorizza direttamente un documento XML, XML Extender memorizza il tipo di base come tipo XML.
Panoramica delle attività:
XML Extender fornisce due metodi per la memorizzazione dei documenti
XML: le funzioni cast predefinite e le funzioni UDF di
memorizzazione. La sezione Tabella 8 illustra quando utilizzare ciascun
metodo.
Tabella 8. Le funzioni di memorizzazione XML Extender
Tipo di base | Memorizzare in DB2 come... | ||
---|---|---|---|
XMLVARCHAR | XMLCLOB | XMLFILE | |
VARCHAR | XMLVARCHAR() | N/D | XMLFileFromVarchar() |
CLOB | N/D | XMLCLOB() | XMLFileFromCLOB() |
FILE | XMLVarcharFromFile() | XMLCLOBFromFile() | XMLFILE |
Tabella 9. Le funzioni cast predefinite di XML Extender
Cast utilizzato nella clausola SELECT | Tipo restituito | Descrizione |
---|---|---|
XMLVARCHAR(VARCHAR) | XMLVARCHAR | Immissione dal buffer di memoria di VARCHAR |
XMLCLOB(CLOB) | XMLCLOB | Immissione dal buffer di memoria di CLOB o del relativo indicatore di posizione |
XMLFILE(VARCHAR) | XMLFILE | Memorizzazione solo del nome file |
Esempio: La seguente istruzione inserisce un tipo VARCHAR cast nel tipo XMLVARCHAR:
INSERT INTO sales_tab VALUES('123456', 'Sriram Srinivasan', db2xml.XMLVarchar(:xml_buff))
La sezione Tabella 10 illustra le funzioni di memorizzazione fornite da XML
Extender.
Tabella 10. UDF di memorizzazione di XML Extender
UDF (user-defined function) di memorizzazione | Tipo restituito | Descrizione |
---|---|---|
XMLVarcharFromFile() | XMLVARCHAR | Legge un documento XML da un file situato sul server e restituisce il valore di tipo XMLVARCHAR. |
XMLCLOBFromFile() | XMLCLOB | Legge un documento XML da un file situato sul server e restituisce il valore di tipo XMLCLOB. |
XMLFileFromVarchar() | XMLFILE | Legge un documento XML dalla memoria come VARCHAR, lo scrive in un file esterno e restituisce il nome file come tipo XMLFILE. |
XMLFileFromCLOB() | XMLFILE | Legge un documento XML dalla memoria come CLOB o indicatore di posizione CLOB, lo scrive in un file esterno e restituisce il nome file come tipo XMLFILE. |
Esempio: la seguente istruzione memorizza un record in una tabella XML utilizzando la funzione XMLCLOBFromFile() come XMLCLOB.
EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER) VALUES( '1234', 'Sriram Srinivasan, XMLCLOBFromFile('c:\dxx\samples\cmd\getstart.xml'))
Il precedente esempio esegue l'importazione dell'oggetto XML dal file denominato c:\dxx\samples\cmd\getstart.xml nella colonna ORDER della tabella SALES_TAB.