Oracle9i SQL Reference Release 1 (9.0.1) Part Number A90125-01 |
|
Functions, 36 of 166
deref::=
deref
DEREF
returns the object reference of argument expr, where expr must return a REF
to an object. If you do not use this function in a query, Oracle returns the object ID of the REF
instead, as shown in the example that follows.
The sample schema oe
contains an object type cust_address_typ
(its creation is shown below). The following example creates a table of cust_address_typ
, and another table with one column that is a REF to cust_address_typ
:
CREATE TYPE cust_address_typ AS OBJECT ( street_address VARCHAR2(40) , postal_code VARCHAR2(10) , city VARCHAR2(30) , state_province VARCHAR2(10) , country_id CHAR(2) ); / CREATE TABLE address_table OF cust_address_typ; CREATE TABLE customer_addresses ( add_id NUMBER, address REF cust_address_typ SCOPE IS address_table); INSERT INTO address_table VALUES ('1 First', 'G45 EU8', 'Paris', 'CA', 'US'); INSERT INTO customer_addresses SELECT 999, REF(a) FROM address_table a; SELECT address FROM customer_addresses; ADDRESS -------------------------------------------------------------------------------- 000022020876B2245DBE325C5FE03400400B40DCB176B2245DBE305C5FE03400400B40DCB1 SELECT DEREF(address) FROM customer_addresses; DEREF(ADDRESS)(STREET_ADDRESS, POSTAL_CODE, CITY, STATE_PROVINCE, COUNTRY_ID) -------------------------------------------------------------------------------- CUST_ADDRESS_TYP('1 First', 'G45 EU8', 'Paris', 'CA', 'US')
|
Copyright © 1996-2001, Oracle Corporation. All Rights Reserved. |
|