Tengo una secuencia de comandos pl \ sql donde quiero establecer el nombre de la tabla utilizada en la secuencia de comandos para una variable. Entonces, de algunos ejemplos que encontré en la web, escribí el código a continuación. La primera sección funciona, entonces creo que mi sintaxis general es correcta, pero la segunda sección, donde intento usar una variable para un nombre de tabla, produce errores ("Error de SQL: ORA-00903: nombre de tabla no válida").cómo usar una variable en la secuencia de comandos oracle para el nombre de tabla
Alguien sabe lo que estoy haciendo mal ... No hago mucho PL \ SQL así que tal vez me esté perdiendo algo obvio.
--works
variable numOfrecords number;
exec :numOfrecords := 10;
select * from customers2008 where rownum < :numOfrecords;
--does not work
variable tableNm CHAR;
exec :tableNm := 'customers2008';
print tableNm;
select * from :tableNm;
Solo FYI: En base a sus ejemplos, realmente no está usando PL/SQL. Creo que quieres decir que tienes un script SQLPlus. Técnicamente, los comandos de tu ejecutivo están llamando a PL/SQL, pero en general lo que estás mostrando aquí son los comandos de SQLPlus. –
Bueno, técnicamente está usando ambos: el comando variable en el script declara una variable de vinculación PL/SQL. –