Tengo cientos de procedimientos almacenados y quiero averiguar el nombre del procedimiento que utiliza el nombre de columna en particular en la consulta¿Cómo encontrar el nombre del procedimiento almacenado utilizando el nombre de columna en Oracle 11g
¿Cómo encontrar el nombre del procedimiento almacenado utilizando el nombre de columna en Oracle 11g
Respuesta
Esto lo hará , pero puede producir falsos positivos para los nombres de las columnas genéricos
SELECT DISTINCT type, name
FROM dba_source
WHERE owner = 'OWNER'
AND text LIKE '%COLUMN_NAME%';
donde el propietario es el esquema que posee los procedimientos almacenados que desea buscar y COLUMN_NAME es el nombre de la columna que desea encontrar. Si usted no utiliza nombres de columna caso mixtos entonces se puede sustituir la última línea con
AND UPPER(text) LIKE '%COLUMN_NAME%';
y escriba el nombre de la columna en las capitales para obtener una búsqueda que ignore.
No hay ninguna forma garantizada, pero se puede buscar de usuario/all/dba_source usando regexp_like
para comprobar si hay palabras completas, y una referencia cruzada con que el usuario/Todo/dba_dependencies a reducir la lista de paquetes para comprobar.
select s.name, s.type, s.line, s.text
from user_source s
where ltrim(s.text,chr(9)||' ') not like '--%'
and regexp_like(lower(s.text),'\Wyour_column_name_here\W')
and (s.name, s.type) in
(select d.name, d.type
from user_dependencies d
where d.referenced_owner = user
and d.referenced_name = 'YOUR_TABLE_NAME_HERE');
o si podría haber referencias a ella desde otros esquemas,
select s.owner, s.name, s.type, s.line, s.text
from all_source s
where ltrim(s.text,chr(9)||' ') not like '--%'
and regexp_like(lower(s.text),'\Wyour_column_name_here\W')
and (s.owner, s.name, s.type) in
(select d.owner, d.name, d.type
from all_dependencies d
where d.referenced_owner = user
and d.referenced_name = 'YOUR_TABLE_NAME_HERE');
que te pueden hacer que sólo tiene que utilizar select distinct s.owner, s.name, s.type ...
para obtener una lista de objetos para investigar.
- 1. Oracle PL/SQL: cómo obtener la pila, el nombre del paquete y el nombre del procedimiento
- 2. Buscar procedimiento almacenado por nombre
- 3. ¿Cómo ver el procedimiento almacenado de Oracle utilizando SQLPlus?
- 4. Cambiar el nombre de un procedimiento almacenado en SQL Server
- 5. Averiguar el nombre del procedimiento PL/SQL
- 6. Cómo cambiar el nombre de un procedimiento de Oracle
- 7. Oracle 11g: desvincular varias columnas e incluir el nombre de la columna
- 8. Oracle encuentra nombre de tabla dado un nombre de índice
- 9. agregando una columna en el procedimiento almacenado
- 10. Nombre de objeto inválido - Procedimiento almacenado
- 11. Puedo pasar el nombre de la columna como parámetro de entrada en SQL almacenado Procedimiento
- 12. cómo imprimir en el procedimiento almacenado de Oracle (para depuración)?
- 13. Encontrar el procedimiento almacenado que usa Crystal Report
- 14. parámetro "Boolean" para el procedimiento almacenado de Oracle
- 15. llamada de Oracle procedimiento almacenado Usando createNativeQuery
- 16. ¿Cómo encontrar el nombre del día?
- 17. Nombre del procedimiento de ejecución actual
- 18. Obtener el nombre del esquema del procedimiento almacenado que se está ejecutando actualmente
- 19. ¿Cómo ejecutar un procedimiento almacenado de Oracle?
- 20. ¿Es posible que un desencadenador encuentre el nombre del procedimiento almacenado que modificó los datos?
- 21. ¿Cómo encontrar el nombre de columna con el índice de columna en DataGridView?
- 22. Oracle: desambiguación entre la tabla y el nombre del esquema
- 23. consulta de Oracle para buscar privilegios en un procedimiento almacenado
- 24. Obtenga el nombre del procedimiento o función de llamada en Oracle PL/SQL
- 25. MS SQL: Suprime el valor devuelto del procedimiento almacenado llamado en el procedimiento almacenado
- 26. Pasando el nombre de la tabla en el procedimiento almacenado sql
- 27. ¿Cómo encontrar el nombre del país del nombre de la ciudad en Java?
- 28. Obtener conjunto de resultados del procedimiento almacenado de Oracle
- 29. C# Oracle procedimiento almacenado parámetro de orden
- 30. Acceder al servicio web desde el procedimiento almacenado de Oracle
Un procedimiento almacenado no tiene columnas –
Quiere decir dentro del procedimiento almacenado algo así como: seleccione COLUMNA de ... por lo que debe quitar su -1. –