SQL> CREATE TABLE inventories_obj_xt
2 ORGANIZATION EXTERNAL
3 (
4 TYPE ORACLE_DATAPUMP
5 DEFAULT DIRECTORY def_dir1
6 LOCATION ('inv_obj_xt.dmp')
7 )
8 AS
9 SELECT oi.product_id,
10 DECODE (oi.warehouse, NULL, 0, 1) warehouse,
11 oi.warehouse.location_id location_id,
12 oi.warehouse.warehouse_id warehouse_id,
13 oi.warehouse.warehouse_name warehouse_name,
14 oi.quantity_on_hand
15 FROM oc_inventories oi;
Table created.
これで、オブジェクト型の属性を含む外部表の列を、その型の列をロードする際の型コンストラクタのファンクションの引数として使用できます。外部表のwarehouse
列は、オブジェクトのコンストラクタ・ファンクションをコールするか、列をNULL
に設定するかを判断するために使用されます。