¿Se puede crear una vista dentro de un procedimiento??

ega
18 de Diciembre del 2004
Buenas:
¿Se puede crear una vista dentro de un procedimiento? Al ejecutar el procedimiento le paso dos valores, y luego tiene que hacer el select de la vista con esos valores. Pero, aunque no me da fallos, lógicamente el procedimiento no me crea la vista. ¿tengo que poner un create view dentro del create procedure, o no se puede hacer??
Gracias de antemano
Saludos

abouza
18 de Diciembre del 2004
Hola, tienes que usar el paquete DBMS_SQL


DECLARE
sqlstr VARCHAR2(50);
tCursor PLS_INTEGER;
RetVal NUMBER;
BEGIN
sqlstr := 'create table basura3 (n number(4))';
tCursor := dbms_sql.open_cursor;
dbms_sql.parse(tCursor, sqlstr, dbms_sql.NATIVE);
RetVal := dbms_sql.execute(tCursor);
dbms_sql.close_cursor(tCursor);
END;


saludos

jc3000
18 de Diciembre del 2004
¿no es mas facil utilizar el EXECUTE INMEDIATE ?

abouza
18 de Diciembre del 2004
si; es lo mismo

Jorge-DBA
18 de Diciembre del 2004
Estoy de acuerdo, ocupa el SQLDINAMICO

recomendación

Execute Immediate.

Saludos.