我正在使用 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit
和 SQL Developer 版本 21.4.1.349
構建 349.1822
我有一個架構級別型別如下
CREATE OR REPLACE TYPE CHAR_TAB_20_TYPE IS TABLE OF VARCHAR2 (20);
上述型別是表table_1 中order_consignee_tab 列的資料型別。
當我執行下面的選擇陳述句時,我在 SQL Developer 中得到輸出
如下不顯示嵌套表中的值。
SELECT selection_id,
order_consignee_tab
FROM table_1
WHERE col_1 = '206' AND selection_id = 'TEST';
輸出:
SELECTION_ID ORDER_CONSIGNEE_TAB
測驗 WMSPRD.CHAR_TAB_20_TYPE()
有人可以告訴我如何查看嵌套表列 order_consignee_tab 的值。
uj5u.com熱心網友回復:
當您詢問 SQL Developer 時,請按照此螢屏截圖中的步驟操作:
- 雙擊
select陳述句的結果 - 點擊鉛筆圖示
- 查看結果

uj5u.com熱心網友回復:
你可以JOIN到一個表集合運算式,然后從COLUMN_VALUE偽列中獲取值:
SELECT selection_id,
o.COLUMN_VALUE AS order_consignee
FROM table_1 t
CROSS JOIN TABLE(t.order_consignee_tab) o
WHERE col_1 = '206'
AND selection_id = 'TEST';
其中,對于樣本資料:
CREATE TABLE table_1 (
selection_id VARCHAR2(4),
col_1 VARCHAR2(3),
order_consignee_tab CHAR_TAB_20_TYPE
) NESTED TABLE order_consignee_tab STORE AS table_1__order_consignee_tab;
INSERT INTO table_1 (selection_id, col_1, order_consignee_tab)
VALUES ('TEST', '206', CHAR_TAB_20_TYPE('ABC', 'DEF', 'GHI'));
輸出:
SELECTION_ID ORDER_CONSIGNEE 測驗 美國廣播公司 測驗 國防軍 測驗 全球健康指數
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/466333.html
