Anda di halaman 1dari 1

Creating a Table with an XMLType Column CREATE TABLE mytable1 (key_column VARCHAR2(10) PRIMARY KEY, xml_column XMLType); Table

created. Creating a Table of XMLType

CREATE TABLE mytable2 OF XMLType;


Table created.

CREATE DIRECTORY xmldir AS path_to_folder_containing_XML_file';


Inserting XML Content into an XMLType Table INSERT INTO mytable2 VALUES (XMLType(bfilename('XMLDIR', 'purchaseOrder.xml'), nls_charset_id('AL32UTF8'))); 1 row created.

The value passed to nls_charset_id() indicates that the encoding for the file to be read is UTF-8.
Inserting XML Content into an XML Type Table Using Java

This example shows how to load XML content into Oracle XML DB by first creating an XMLType instance in Java, given a Document Object Model (DOM).
public void doInsert(Connection conn, Document doc) throws Exception { String SQLTEXT = "INSERT INTO purchaseorder VALUES (?)"; XMLType xml = null; xml = XMLType.createXML(conn,doc); OraclePreparedStatement sqlStatement = null; sqlStatement = (OraclePreparedStatement) conn.prepareStatement(SQLTEXT); sqlStatement.setObject(1,xml); sqlStatement.execute(); } 1 row selected.

PL/SQL and APIs Using PL/SQL or programmatic APIs, you can retrieve XML data into VARCHAR, CLOB, or XMLType datatypes. As for SQL clients, you can control the encoding of the retrieved data by setting NLS_LANG. You can also retrieve XML data into a BLOB value using XMLType and URIType methods. These methods let you specify the character set of the returned BLOB value. Here is an example:
CREATE OR REPLACE FUNCTION getXML(pathname VARCHAR2, charset VARCHAR2) RETURN BLOB IS xblob BLOB; BEGIN SELECT e.RES.getBlobVal(nls_charset_id(charset)) INTO xblob FROM RESOURCE_VIEW e WHERE ANY_PATH = pathname; RETURN xblob; END; /

Anda mungkin juga menyukai