Oracle - vistas

   
Vista:

vistas

Publicado por Jessie (2 intervenciones) el 12/03/2008 20:53:13
Hola

Tengo un procedimiento almacenado, en el cual, creo una vista con la siguiente instruccion :

create or replace view vdview08 as select * from tabcodin

Despues de crear la vista la quiero recorrer pero al compilar el procedimiento me da el siguiente error :

LINE/COL ERROR
-------- -----------------------------------------------------------------
43/13 PL/SQL: SQL Statement ignored
44/18 PLS-00201: identifier 'VDVIEW08' must be declared
47/15 PL/SQL: Statement ignored
47/48 PLS-00364: loop index variable 'RE' use is invalid
48/15 PL/SQL: Statement ignored
48/18 PLS-00364: loop index variable 'RE' use is invalid
51/15 PL/SQL: Statement ignored
51/18 PLS-00364: loop index variable 'RE' use is invalid
SQL>

Lo tengo claro que es porque no existe la tabla VDVIEW08

Mi pregunta es : Como puedo solucionar esto, es decir, crear una vista en un procedimiento almacenado y luego recorrer esta vista
Cualquier ayuda sera bienvenida
Gracias
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:vistas

Publicado por Rodolfo Reyes (445 intervenciones) el 14/03/2008 16:54:14
Dentro del procedimiento almacenado tienes que ejecutar el create o replace con un EXCUTE IMMEDIATE

Este es un ejemplo de un procedimiento para crear usuarios.

create or replace procedure crear_usuarios(var_usuario in varchar2 , var_clave in varchar2 )
is
begin
execute immediate 'create user '||var_usuario||' identified by '||var_clave||' ; ';
end;
/
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