SQL - Consulta dinamica "select count(*) into var...

 
Vista:

Consulta dinamica "select count(*) into var...

Publicado por Edu (8 intervenciones) el 05/08/2004 14:37:36
Intento sacar el numero de filas de una tabla cuyo nombre lo recibo como parametro "vNomTabla1".

Para ello utilizo la siguiente consulta dinamica:

sSQLString1 := 'select count(*) as rDatos.iNumReg1 from :pNTabla1';
EXECUTE IMMEDIATE sSQLString1 USING rDatos.vNomTabla1;

pero me da problemas, alguien sabe que puede fallar, tambien he mirado un consulta en este foro parecida y las respuesta que le dan tampoco me sirven.

La respuesta dicha se encuentra en: http://www.lawebdelprogramador.com/news/mostrar_new.php?id=89&texto=SQL&n1=20317&n2=2&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

Nota: Trabajo con oracle, y PL/SQL
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta dinamica

Publicado por Edu (8 intervenciones) el 05/08/2004 18:27:46
El fallo que tenia es que la palabra clave INTO se debe de colocar en el EXECUTE IMMEDIATE, y al parecer tampoco se pueden instanciar los nombres de las tablas, dicha instanciación solo se puede poner para la clausula WHERE, por tanto el nombre de la tabla se lo he indicado concatenándolo como cadena.

sSQLString1 := 'select count(*) from ' || rDatos.vNomTabla1;
EXECUTE IMMEDIATE sSQLString1 INTO rDatos.iNumReg1;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar