したがって、Oracle データベースに次のユーザー定義型があります。
CREATE OR REPLACE TYPE METRIC_IMPERIAL_DISTANCE AS OBJECT
(
METERS_FEET INTEGER,
CENTIMETERS_INCHES INTEGER,
FRACTION NUMBER
)
私は次のことができます:
SELECT t_id, get_distance_breakdown (h.height, h.unit_of_measure_id) height_breakdown
FROM heights h
そしてさえ
SELECT t_id, get_distance_breakdown (h.height, h.unit_of_measure_id).meters_feet height_meters_feet
FROM heights h
しかし、以下は ORA-00904: "HEIGHT_BREAKDOWN"."METERS_FEET": 無効な識別子エラーで失敗します:
SELECT t_id, height_breakdown.meters_feet
FROM (SELECT t_id, get_distance_breakdown (h.height, h.unit_of_measure_id) height_breakdown
FROM heights h);
何を与える?これに対する単純で明白な回避策がない場合、それはオラクルのユーザー定義型について役立つものの多くを台無しにします。何かが足りない気がします。