Pregunta

Yo uso SAPO hacer mi desarrollo PL / SQL. En SAPO cuando escribo un nombre de procedimiento y pulse F4, puedo ver el código fuente de este procedimiento. Creo SAPO obtener el código fuente de la vista v $ sqltext. Para confirmar mi pensamiento, escribí una consulta:

select * from v$sqltext

pero cuando ejecuto la consulta superior, Oracle dame un error:

  

ORA-00942: la tabla o vista no lo hace   existe   00942. 00000 - "tabla o vista no existen"   * Causa:
  * Acción: error en la línea: 29 Columna: 15

Así que creo SAPO obtener la fuente del procedimiento desde otro lugar en vez de v $ sqltext vista. Alguien me puede decir acerca de esto? Grandes gracias.

¿Fue útil?

Solución

La consulta completa para un procedimiento almacenado (no en un paquete):

select text
from   all_source
where  owner = 'MYSCHEMA'
and    type = 'PROCEDURE'
and    name = 'MY_PROCEDURE'
order by line;

Si está conectado como usuario MYSCHEMA que puede utilizar USER_SOURCE:

select text
from   user_source
where  type = 'PROCEDURE'
and    name = 'MY_PROCEDURE'
order by line;

Otros valores para el tipo son:

  • Tipo de cuerpo
  • función
  • TRIGGER
  • TIPO
  • Java de código
  • PAQUETE DE CUERPO
  • PAQUETE

Otros consejos

select * from all_source

Ver referencia de base de datos para ALL_SOURCE y V $ SQLTEXT .

Si usted tiene priv seleccione el DBA * tablas, a continuación, se echa un vistazo select * from dba_source. Esta tabla tendrá todo el código fuente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top