pregunta sobre PL / SQL almacenado texto del programa
-
20-09-2019 - |
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.
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.