Ich beziehe mich auf diese stackoverflow
Antwort:Wie kann ich wählen Sie aus der Liste von Werten in Oracle
How can I select from list of values in SQL Server
Wie konnte etwas ähnliches in Oracle getan werden?
Ich habe die anderen Antworten auf dieser Seite gesehen, die UNION
verwenden und obwohl diese Methode technisch funktioniert, ist es nicht, was ich in meinem Fall verwenden möchte.
Also möchte ich bei der Syntax bleiben, die mehr oder weniger aussieht wie eine durch Kommas getrennte Liste von Werten.
UPDATEüber die create type table
answer:
habe ich eine Tabelle:
CREATE TABLE "BOOK"
( "BOOK_ID" NUMBER(38,0)
)
ich dieses Skript verwenden, aber es einfügen keine Zeilen zur BOOK
Tabelle:
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
;
Skriptausgabe:
TYPE number_tab compiled
Warning: execution completed with warning
Aber wenn ich dieses Skript verwenden wird es neue Zeilen in die BOOK
Tabelle einfügen:
INSERT INTO BOOK (
BOOK_ID
)
SELECT A.NOTEBOOK_ID FROM
(SELECT (LEVEL-1)+1 AS NOTEBOOK_ID FROM DUAL CONNECT BY LEVEL<=6) A
;
Es funktioniert ...! und es ist, was ich gesucht habe. Wenn Sie herausfinden, warum Tony Andrews Antwort (http://stackoverflow.com/questions/10353969/how-can-i-select-from-list-of-values-in-oracle/10354083#10354083) gibt mir eine Warnung und produziert keine Einsätze - lassen Sie es mich wissen. – rapt
danke! arbeitete für mich auf orcl 11g. Ich kann nicht anders, als mich zu fragen, wie sie auf diese Namen gekommen sind. odcinumberlist vs. dbms_debug_vc2coll nichts davon scheint überlegt zu sein –
@SonicSoul weil keiner von ihnen eigentlich für "casual" Verwendung gedacht war wie in meiner Antwort oben. ODCI steht für Oracle Data Cartridge-Schnittstelle, dbms_debug_vc2_coll ist für die Verwendung mit dem DBMS_DEBUG-Paket vorgesehen. –