Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: d91 en 27 Noviembre 2015, 19:56 pm



Título: crear procedimiento almacenado con select a tabla del sistema
Publicado por: d91 en 27 Noviembre 2015, 19:56 pm
hola a todos, necesito crear un procedimiento almacenado para visualizar el estado de la memoria en Oracle, pero el select para poder ver esto solo funciona dentro de un bloque anónimo (declare) y no dentro de un procedimiento almacenado porque el error dice: tabla o vista no existe, por lo que necesito saber si hay otra consulta en la que pueda ver el estado de la memoria en Oracle y insertar este select para llamarlo  en un procedimiento almacenado

Código
  1.  
  2. CREATE OR REPLACE PROCEDURE memoria    
  3. AS
  4. CURSOR reporte IS
  5. SELECT POOL AS espacio, NAME AS nombre, BYTES AS tam FROM v$sgastat;
  6. auxiliar reporte%ROWTYPE;
  7. BEGIN
  8. FOR auxiliar IN reporte loop
  9.  dbms_output.put_line(auxiliar.espacio||' '||auxiliar.nombre||' '||auxiliar.tam);
  10. END loop;
  11. END;
  12.  
  13. --Error(3,8): PLS-00341: declaration of cursor 'REPORTE' is incomplete or malformed
  14.  
  15. --Error(4,62): PL/SQL: ORA-00942: table or view does not exist
  16.