私はこのstackoverflow
答えを参照しています:
SQL Server の値のリストから選択するにはどうすればよいですか
Oracleで同様のことを行うにはどうすればよいでしょうか。
このページで使用している他の回答を見てきましたがUNION
、この方法は技術的には機能しますが、私の場合は使用したくないものです。
したがって、多かれ少なかれコンマで区切られた値のリストのように見える構文にとどまりたいと思います。
答えに関するcreate type table
更新:
私はテーブルを持っています:
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
;