從值列表中選擇我指的這個stackoverflow
答案:我如何在Oracle中
How can I select from list of values in SQL Server
怎麼能類似的東西在甲骨文做些什麼呢?
我已經看到在這個頁面上使用UNION
的其他答案,雖然這種方法技術上的工作,這不是我想用在我的情況。
所以我想繼續使用或多或少看起來像逗號分隔的值列表的語法。
UPDATE關於create type table
answer:
我有一個表:
CREATE TABLE "BOOK"
( "BOOK_ID" NUMBER(38,0)
)
我使用這個腳本,但它不插入任何行至BOOK
表:
create type number_tab is table of number;
INSERT INTO BOOK (
BOOK_ID
)
SELECT A.NOTEBOOK_ID FROM
(select column_value AS NOTEBOOK_ID from table (number_tab(1,2,3,4,5,6))) A
;
腳本輸出:
TYPE number_tab compiled
Warning: execution completed with warning
但如果我使用這個腳本它並插入新行到BOOK
表:
INSERT INTO BOOK (
BOOK_ID
)
SELECT A.NOTEBOOK_ID FROM
(SELECT (LEVEL-1)+1 AS NOTEBOOK_ID FROM DUAL CONNECT BY LEVEL<=6) A
;
它的作品...!這正是我所尋找的。如果你可以找出爲什麼託尼安德魯斯的答案(http://stackoverflow.com/questions/10353969/how-can-i-select-from-list-of-values-in-oracle/10354083#10354083)給我一個警告,並沒有插入 - 請讓我知道。 – rapt 2012-04-30 12:37:36
謝謝!在orcl 11g上爲我工作。我不禁想知道他們是如何拿出這些名字的? odcinumberlist vs dbms_debug_vc2coll這些似乎都沒有想到 – 2015-06-16 17:52:20
@SonicSoul,因爲它們中沒有一個實際上意味着像我上面的答案中的「隨意」使用。 ODCI代表oracle數據盒式接口,dbms_debug_vc2_coll意味着與DBMS_DEBUG包一起使用。 – 2015-06-17 18:48:53