Me refiero a esta stackoverflow
respuesta:¿Cómo puedo seleccionar de la lista de valores en Oracle
How can I select from list of values in SQL Server
¿Cómo puede algo similar hacerse en Oracle?
He visto las otras respuestas en esta página que usan UNION
y aunque este método funciona técnicamente, no es lo que me gustaría usar en mi caso.
Así que me gustaría quedarme con la sintaxis que más o menos parece una lista de valores separados por comas.
ACTUALIZACIÓNcon respecto a la create type table
answer:
Tengo una tabla:
CREATE TABLE "BOOK"
( "BOOK_ID" NUMBER(38,0)
)
utilizo este guión, pero no se inserta ninguna fila de la tabla 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
;
Resultado del script:
TYPE number_tab compiled
Warning: execution completed with warning
Pero si uso este script lo hace insertar nuevas filas a la tabla 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
;
¡Funciona ...! y es lo que estaba buscando. Si puede averiguar por qué la respuesta de Tony Andrews (http://stackoverflow.com/questions/10353969/how-can-i-select-from-list-of-values-in-oracle/10354083#10354083) me la está dando una advertencia y no produce inserciones, por favor avíseme. – rapt
gracias! trabajado para mí en orcl 11g. No puedo evitar preguntarme ¿cómo se les ocurrieron estos nombres? odcinumberlist vs dbms_debug_vc2coll nada de esto parece pensado en absoluto –
@SonicSoul porque ninguno de ellos estaba destinado para el uso "casual" como en mi respuesta anterior. ODCI significa interfaz de cartucho de datos Oracle, dbms_debug_vc2_coll está destinado a ser utilizado con el paquete DBMS_DEBUG. –