Oracle Database 10g SQL : LOB Geoff Lee, Oracle Corporation Peter Linsley, Oracle Corporation Jonathan Gennick, O'Reilly & Associates Oracle SQL Oracle Detabase Oracle SQL API Oracle Database 10g SQL Oracle 1 Oracle Database 10g SQL LOB SQL E-Business Oracle Database 10g SQL IEEE/POSIX IEEE 754 Standard for Binary Floating-Point Arithmetic IEEE754 Oracle Database 10g XML Java LOB Oracle Database 10g SQL API LOB LOB 4 ANSI SQL Multiset XML Java Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 1
Oracle Regular Expression 3 Web DNA Oracle Regular Expression SQL PL/SQL Oracle Regular Expression Oracle Regular Expression Web XXXXXXXXXX 10 CHAR10 XXXXXX-XXXX DBA SQL*Plus REPLACE REGEXP_REPLACE Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 2
LIKE REGEXP_LIKE Oracle Database 10g Oracle Database 10g Update PL/SQL Oracle Regular Expression SQL Oracle Regular Expression POSIX BRE ERE UNIX Oracle Regular Expression POSIX ERE Oracle Regular Expression Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 3
Oracle Regular Expression SQL PL/SQL SQL REGEXP_LIKE REGEXP_SUBSTR REGEXP_INSTR REGEXP_REPLACE SQL SQL C. a? a 0 1 a* a 0 a+ a 1 Dot Quantifier Quantifier Quantifier a b a{m} a{m,} a{m,n} a b a m a m a m n Alternation Quantifier Quantifier Quantifier [abc] ab c Bracket Expression ( ) n n Subexpression Backreference [:cc:] Character Class [.ce.] Collation Element [=ec=] Equivalence Class POSIX Oracle Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 4
Oracle Regular Expression. 1 1 Oracle Oracle Regular Expression CHARVARCHAR2CLOBNCHARNVARCHAR NCLOB REGEXP_LIKE REGEXP_LIKE REGEXP fly flyflying flew flown flies SELECT c1 FROM t1 WHERE REGEXP_LIKE(c1, fl(y(ing)? (ew) (own) (ies)) ); REGEXP_SUBSTR REGEXP_INSTR SELECT REGEXP_SUBSTR( the bird flew over the river, fl(y(ing)? (ew) (own) (ies)) ) FROM dual; flew REGEXP_INSTR REGEXP_INSTR INSTR REGEXP_INSTR SQL Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 5
REGEXP_REPLACE Oracle Regular Expression HTML REGEXP_REPLACE HTML SELECT REGEXP_REPLACE (c1, <[^>]+> ) FROM t1; n n n REPLACE DDL Oracle Regular Expression VARCHAR2 CREATE TABLE t1 (c1 VARCHAR2(20), CHECK (REGEXP_LIKE(c1, '^[[:alpha:]]+$'))); INSERT INTO t1 VALUES ('newuser'); 1 row created. INSERT INTO t1 VALUES ('newuser1'); ORA-02290:check constraint violated INSERT INTO t1 VALUES ('new-user'); ORA-02290:check constraint violated Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 6
Oracle Regular Expression 1 1 functional index CREATE INDEX t1_ind ON t1 (REGEXP_SUBSTR(c1, 'a')); SELECT c1 FROM t1 WHERE REGEXP_SUBSTR(c1, 'a') = 'a'; 1 REGEXP_REPLACE CREATE VIEW v1 AS SELECT empno, REGEXP_REPLACE(email, '(.)', '1 ) email FROM emp; SELECT email FROM v1 WHERE empno = 7369; j d o e @ s o m e w h e r e. c o m PL/SQL Oracle Regular Expression SQL PL/SQL 1 src := REGEXP_REPLACE (src, <regexp_1> ); src := REGEXP_REPLACE (src, <regexp_2> ); src := REGEXP_REPLACE (src, <regexp_3> ); PL/SQL n PL/SQL Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 7
CREATE FUNCTION regexp_subx ( input VARCHAR2, regx VARCHAR2, subx NUMBER) RETURN VARCHAR2 IS ret VARCHAR2(4000); BEGIN ret := REGEXP_SUBSTR (input, regx); ret := REGEXP_REPLACE (ret, regx, subx); RETURN (ret); END regexp_subx; / LIKE SQL REGEXP_LIKE REGEXP_LIKE REGEXP_LIKE Oracle Regular Expression LIKE PL/SQL Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 8
Oracle Database 10g 2 BINARY_FLOAT BINARY_DOUBLE 32-bit IEEE 754 64-bit IEEE 754 Oracle NUMBER BINARY_FLOAT BINARY_DOUBLE BINARY_FLOAT BINARY_DOUBLE BINARY_FLOAT BINARY_DOUBLE IEEE 754 binary_float binary_double RDBMS 1 binary_float binary_double binary_float binary_double binary_float binary_double binary_float binary_double order by group by binary_float binary_double Oracle RDBMS Oracle Number Oracle Number 10 10 Oracle Number Oracle Number Java XML IEEE 754 Standard for Binary Floating-Point Arithmetic IEEE754 OLAP BINARY_FLOAT BINARY_DOUBLE Oracle Number Oracle Number 1 binary_float binary_double RDBMS Java XML IEEE 754 Oracle Number Oracle Number Oracle Number 10 binary_float binary_double 2 Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 9
Oracle Number binary_float binary_double binary_float binary_double Oracle Number 5 10 binary_float binary_double Oracle Number 122 IEEE 754 Oracle Number sign exponent significand 3 base (-1) sign. significand. base exponent 3 IEEE 754 Oracle NUMBER IEEE 754 32 1 64 1 Oracle NUMBER 3.40282347e+38 1.7976931348623157e+308 10e125 1.17549435e-38 2.2250738585072014e-308 1e-130 1.17549421e-38 2.2250738585072009e-308 1.40129846e-45 4.9406564584124654e-324 6-9 15-17 38-40 Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 10
equal to not equal to greater than greater than or equal to less than less or equal to unordered 0 0 +0 0 +0 1 NaNNot a Number not equal to false 1 NaNNot a Number not equal to true Java IEEE 754 IEEE 754 IA-32 IA-64 NaN expr IS NAN true 10 float double double float float double decimal decimal float double float double float double Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 11
SQL ABSACOS binary_float binary_double SQL> select ceil(1.2343243e2f) from dual; CEIL(1.2343243E2F) ------------------ 1.24E+002 ORDER BY HAVING SELECT GROUP BY Oracle GROUP BY GROUP BY GROUP BY 1 Oracle AVGCORRMAXMINSTDDEV Window Sliding Window ORDER BY WHERE GROUP BY HAVING ORDER BY AVGCORRMAXMINSTDDEV 1 Oracle Database 10g 6 NOT NULL NULL NULL Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 12
1 NOT NULL NULL CHECK REF REF REF REF SQL> create table floating_point_table1 ( fltnnull binary_float constraint flt_null not null, dblnnull binary_double constraint dbl_null not null, fltunq binary_float constraint flt_unq unique, dblunq binary_double constraint dbl_unq unique, fltchk binary_float constraint flt_chk check ( fltchk is not nan ), dblchk binary_double constraint dbl_chk check ( dblchk is not infinite), fltprm binary_float constraint flt_prm primary key); Table created. SQL> create table floating_point_table2 ( dblprm binary_double constraint dbl_prm primary key, fltfrn binary_float constraint flt_frn references floating_point_table1(fltprm) on delete cascade); Table created. SQLPL/SQLOCIOCCIPro*C/C++JDBC XMLXML SQL SQL BINARY_FLOAT BINARY_DOUBLE SQL SQL BINARY_FLOAT BINARY_DOUBLE SQL expr Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 13
OCI SQLT_BFLOAT SQLT_BDOUBLE Oracle Call InterfaceOCI IEEE 754 SQLT_BFLOAT SQLT_BDOUBLE IEEE 754 C float double OCI SQLT_BFLOAT SQLT_BDOUBLE BINARY_FLOAT BINARY_DOUBLE Oracle SQL BINARY_FLOAT BINARY_DOUBLE Oracle LOB LOB Oracle Database 10g Reference on Read and Copy on Write LOB LOB LOB LOB LOB 1 LOB 1 0 LOB LOB LOB LOB LOB LOB 1 LOB LOB LOB BLOBCLOB NCLOB 42949672954-1(2^32 1)4 unsigned int UB4 LOB 4 1*db_block_size LOB 232 8128 LOB 4 LOB DBMS_LOB PL/SQL JDBCJava Database Connectivity Java OCIOracle Call Interface C Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 14
LOB LOB DB_BLOCK_SIZE DB_BLOCK_SIZE 4 1 232 8128 LOB LOB CLOB NCLOB BLOB PL/SQLJDBC OCI LOB LOB DBMS_LOB PL/SQL API DBMS_LOB.GET_STORAGE_LIMIT Oracle JDBC JDBC LOB ASI LOB Oracle Call Interface API LOB LOB OCILobRead() OCILobWriteAppend() OCILobWrite()calls OCI OCI 4GB LOB OCILobRead2()OCIWriteAppend2() OCILobWrite2() oraub8 CLOB NCLOB Unicode CLOB NCLOB TO_CLOB TO_NCLOB SQL PL/SQL Oracle Database 10g DML SQL IN OUT PL/SQL PL/SQL 1 CREATE TABLE my_table (nclob_col NCLOB); DECLARE clob_var CLOB; nclob_var NCLOB; BEGIN clob_var := 'clob data'; -- initialize the CLOB value; -- Bind a CLOB into an NCLOB column INSERT INTO my_table VALUES (clob_var); SELECT nclob_col INTO clob_var FROM my_table; -- Define an NCLOB column as a CLOB var END; / Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 15
2 CREATE FUNCTION TRY_ME (a IN CLOB) RETURN NCLOB is BEGIN RETURN a; END; / DECLARE clob_var CLOB; nclob_var NCLOB; BEGIN nclob_var:= 'nclob data'; /* Pass an NCLOB into a function which takes a CLOB Return an NCLOB variable to a CLOB variable. */ clob_var:=try_me(nclob_var); end; / BFILE CLOB/NCLOB BFILE LOB LOADFROMFILE2() CLOB NCLOB DBMS_LOB OCI LOADFROMFILE2() csid ID BFILE CLOB NCLOB BFILE CLOB NCLOB BFILE LOB UCS2 UCS22 Unicode CLOB csid NCLOB csid : BFILE CharacterSet1 : LOB CharacterSet2 cs1 cs2 if (cs1!=cs2) cs1 cs2 cs1 UCS2 cs1 UCS2 Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 16
LOB LOB Oracle Database 10g SQL users CREATE TABLE people_tab ( people_column people_typ ) NESTED TABLE people_column STORE AS people_column_nt (TABLESPACE users); TABLESPACE ALTER TABLE MOVE ALTER TABLE MOVE ALTER TABLE MOVE ALTER TABLE people_tab MOVE TABLESPACE users; ALTER TABLE people_column_nt MOVE TABLESPACE example; people_tab users example ANSI SQL MULTISET Oracle Database 10g NESTED TABLE MULTISET Oracle VARRAY NESTED TABLE 2 1 Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 17
= <> 2 2 CREATE TYPE person_typ AS OBJECT ( idno NUMBER, name VARCHAR2(30), phone VARCHAR2(20), MAP MEMBER FUNCTION get_idno RETURN NUMBER ); / CREATE TYPE BODY person_typ AS MAP MEMBER FUNCTION get_idno RETURN NUMBER IS BEGIN RETURN idno; END; END; / CREATE TYPE people_typ AS TABLE OF person_typ; / CREATE TABLE students ( graduation DATE, math_majors people_typ, chem_majors people_typ, physics_majors people_typ) NESTED TABLE math_majors STORE AS math_majors_nt NESTED TABLE chem_majors STORE AS chem_majors_nt NESTED TABLE physics_majors STORE AS physics_majors_nt; INSERT INTO students (graduation) VALUES ('01-JUN-03'); UPDATE students SET math_majors = people_typ (person_typ(12, 'Bob Jones', '111-555-1212'), person_typ(31, 'Sarah Chen', '111-555-2212'), person_typ(45, 'Chris Woods', '111-555-1213')), chem_majors = people_typ (person_typ(51, 'Joe Lane', '111-555-1312'), person_typ(31, 'Sarah Chen', '111-555-2212'), person_typ(52, 'Kim Patel', '111-555-1232')), Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 18
physics_majors = people_typ (person_typ(12, 'Bob Jones', '111-555-1212'), person_typ(45, 'Chris Woods', '111-555-1213')) WHERE graduation = '01-JUN-03'; SELECT p.name FROM students, TABLE(physics_majors) p WHERE math_majors = physics_majors; no rows selected person_typ IN IN NULL SELECT p.idno, p.name FROM students, TABLE(physics_majors) p WHERE physics_majors IN (math_majors, chem_majors); no rows selected SUBMULTISET [OF] OF SUBMULTISET SELECT p.idno, p.name FROM students, TABLE(physics_majors) p WHERE physics_majors SUBMULTISET OF math_majors; IDNO NAME ---------- ------------------------------ 12 Bob Jones 45 Chris Woods Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 19
MEMBER [OF] NOT MEMBER [OF] OF SELECT graduation FROM students WHERE person_typ(12, 'Bob Jones', '1-800-555-1212') MEMBER OF math_majors; GRADUATION ---------- 01-JUN-03 person_typ (12, 'Bob Jones', '1-800-555-1212') math_majors IS [NOT] EMPTY NULL NULL NULL SELECT p.idno, p.name FROM students, TABLE(physics_majors) p WHERE physics_majors IS NOT EMPTY; IDNO NAME ---------- ------------------------------ 12 Bob Jones 45 Chris Woods IS [NOT] A SET SELECT p.idno, p.name FROM students, TABLE(physics_majors) p WHERE physics_majors IS A SET; IDNO NAME ---------- ------------------------------ 12 Bob Jones 45 Chris Woods Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 20
MULTISET CARDINALITY CARDINALITY VARRAY NUMBER VARRAY NULL NULL SELECT CARDINALITY(math_majors) FROM students; CARDINALITY(MATH_MAJORS) ------------------------ 3 COLLECT COLLECT CAST COLLECT MULTISET EXCEPT MULTISET EXCEPT 2 1 2 ALL DISTINCT ALL ALL ntab1 MULTISET EXCEPT ALL ntab2 ntab2 ntab1 ntab1 m ntab2 n m n m n DISTINCT ntab1 ntab2 SELECT math_majors MULTISET EXCEPT physics_majors FROM students WHERE graduation = '01-JUN-03'; MATH_MAJORSMULTISETEXCEPTPHYSICS_MAJORS(IDNO, NAME, PHONE) ------------------------------------------------------------------ PEOPLE_TYP(PERSON_TYP(31, 'Sarah Chen', '111-555-2212')) Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 21
MULTISET INTERSECTION MULTISET INTERSECT 2 ALL DISTINCT ALL ALL ntab1 m ntab2 n MIN (m, n) DISTINCT NULL SELECT math_majors MULTISET INTERSECT physics_majors FROM students WHERE graduation = '01-JUN-03'; MATH_MAJORSMULTISETINTERSECTPHYSICS_MAJORS(IDNO, NAME, PHONE) ------------------------------------------------------------------ PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', '111-555-1212'), PERSON_TYP(45, 'Chris Woods', '111-555-1213')) MULTISET UNION MULTISET UNION 2 ALL DISTINCT ALL ALL NULL ntab1 ntab2 ntab1 m ntab2 n m + n DISTINCT NULL SELECT math_majors MULTISET UNION DISTINCT physics_majors FROM students WHERE graduation = '01-JUN-03'; MATH_MAJORSMULTISETUNIONDISTINCTPHYSICS_MAJORS(IDNO, NAME, PHONE) ----------------------------------------------------------- PEOPLE_TYP (PERSON_TYP(12, 'Bob Jones', '111-555-1212'), PERSON_TYP(31, 'Sarah Chen', '111-555-2212'), PERSON_TYP(45, 'Chris Woods', '111-555-1213')) SELECT math_majors MULTISET UNION ALL physics_majors FROM students WHERE graduation = '01-JUN-03'; MATH_MAJORSMULTISETUNIONALLPHYSICS_MAJORS(IDNO, NAME, PHONE) ----------------------------------------------------------- PEOPLE_TYP (PERSON_TYP(12, 'Bob Jones', '111-555-1212'), PERSON_TYP(31, 'Sarah Chen', '111-555-2212'), PERSON_TYP(45, 'Chris Woods', '111-555-1213'), PERSON_TYP(12, 'Bob Jones', '111-555-1212'), PERSON_TYP(45, 'Chris Woods', '111-555-1213')) Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 22
POWERMULTISET POWERMULTISET POWERMULTISET 32 SELECT * FROM TABLE(POWERMULTISET( people_typ ( person_typ(12, 'Bob Jones', '1-800-555-1212'), person_typ(31, 'Sarah Chen', '1-800-555-2212'), person_typ(45, 'Chris Woods', '1-800-555-1213')))); COLUMN_VALUE(IDNO, NAME, PHONE) ----------------------------------------------------------- PEOPLE_TYP (PERSON_TYP(12, 'Bob Jones', '1-800-555-1212')) PEOPLE_TYP (PERSON_TYP(31, 'Sarah Chen', '1-800-555-2212')) PEOPLE_TYP (PERSON_TYP(12, 'Bob Jones', '1-800-555-1212'), PERSON_TYP(31, 'Sarah Chen', '1-800-555-2212')) PEOPLE_TYP (PERSON_TYP(45, 'Chris Woods', '1-800-555-1213')) PEOPLE_TYP (PERSON_TYP(12, 'Bob Jones', '1-800-555-1212'), PERSON_TYP (45, 'Chris Woods', '1-800-555-1213')) PEOPLE_TYP (PERSON_TYP(31, 'Sarah Chen', '1-800-555-2212'), PERSON_TYP(45, 'Chris Woods', '1-800-555-1213')) PEOPLE_TYP (PERSON_TYP(12, 'Bob Jones', '1-800-555-1212'), PERSON_TYP(31, 'Sarah Chen', '1-800-555-2212'), PERSON_TYP(45, 'Chris Woods', '1-800-555-1213')) 7 rows selected. POWERMULTISET_BY_CARDINALITY POWERMULTISET_BY_CARDINALITY POWERMULTISET_BY_CARDINALITY(x, l)table(powermultiset(x)) p where CARDINALITY(value(p)) = l x 1 POWERMULTISET_BY_CARDINALITY 32 SELECT * FROM TABLE(POWERMULTISET_BY_CARDINALITY( people_typ ( person_typ(12, 'Bob Jones', '1-800-555-1212'), person_typ(31, 'Sarah Chen', '1-800-555-2212'), person_typ(45, 'Chris Woods', '1-800-555-1213')),2)); Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 23
COLUMN_VALUE(IDNO, NAME, PHONE) ------------------------------------------------------------ PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', '1-800-555-1212'), PERSON_TYP(31, 'Sarah Chen', '1-800-555-2212')) PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', '1-800-555-1212'), PERSON_TYP(45, 'Chris Woods', '1-800-555-1213')) PEOPLE_TYP(PERSON_TYP(31, 'Sarah Chen', '1-800-555-2212'), PERSON_TYP(45, 'Chris Woods', '1-800-555-1213')) SET SET DISTINCT SELECT SET(physics_majors) FROM students WHERE graduation = '01-JUN-03'; SET(PHYSICS_MAJORS)(IDNO, NAME, PHONE) ------------------------------------------------------------- PEOPLE_TYP(PERSON_TYP(12, 'Bob Jones', '111-555-1212'), PERSON_TYP(45, 'Chris Woods', '111-555-1213')) Oracle SQL Oracle Database 10g Oracle SQL LOB Oracle Database 10g Grid SQL Java XML Oracle Database SQL PL/SQL E-Business LOB Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 24
Oracle Java XML API API JavaXMLC/C++ Oracle Oracle Database 10g Web OLAP Oracle SQL SQL SQL Oracle Database 10g SQL Oracle Database 10g SQL : LOB Oracle Corporation NEW SQL CAPABILITIES IN ORACLE DATABASE 10G: REGULAR EXPRESSIONS, NATIVE NUMBER, LOB PERFORMANCE, AND MORE 25