Я имею в виду этот ответ stackoverflow
:
Как выбрать из списка значений в SQL Server
Как можно сделать что-то подобное в Oracle?
Я видел другие ответы на этой странице, которые используют UNION
, и хотя этот метод технически работает, это не то, что я хотел бы использовать в моем случае.
Поэтому я хотел бы остаться с синтаксисом, который более или менее выглядит как список значений, разделенных запятыми.
ОБНОВЛЕНИЕ относительно ответа create type table
:
У меня есть таблица:
CREATE TABLE "BOOK"
( "BOOK_ID" NUMBER(38,0)
)
Я использую этот script, но он не вставляет строки в таблицу 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
;
Script вывод:
TYPE number_tab compiled
Warning: execution completed with warning
Но если я использую этот script, он вставляет новые строки в таблицу 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
;