lunes, 29 de agosto de 2011

Búsqueda de objetos dentro de programables (Stored procedures, vistas, funciones, triggers) de Microsoft SQL Server

 

Antecedentes:

Se tiene la necesidad de encontrar en cuantos y cuales (En donde exactamente) programables (Stored procedures, vistas, funciones, triggers) se encuentra un objeto de base de datos (Tabla, campo, índice o programable).

Esto resulta muy útil para realizar un análisis de impacto. Ponemos un ejemplo, ampliar la longitud del campo “CLABE” de la tabla “CuentasBancarias” ya que no se da abasto para las longitudes manejadas en el sector bursátil.

Solución propuesta

Se cuenta con dos Stored Procedures que nos van a apoyar a esta búsqueda. El primero se llama sp_helptext_Plus y no es otra cosa que una versión modificada del stored del sistema de nombre sp_Helptext que nos ayuda a obtener el código de cualquier programable.

El otro stored procedure es el que hace el trabajo pesado. Se llama P_BusCadTxtProgramables y el ejemplo de ejecución para la problemática planteada en este caso es la siguiente:

 

EXEC P_BusCadTxtProgramables   

@PS_Cadena = ‘CuentasBancarias’,

@PS_TabFisica ='tmpCuentasBancarias’

En donde el parámetro @PS_Cadena recibe el valor de la cadena de caractéres que se desea cnontrar y el parámetro @PS_TabFisica recibe el nombre de la tabla física en donde se van a guardar los resultados de la búsqueda. Si se ejecuta de esta manera, el stored procedure genera la tabla ‘tmpCuentasBancarias’ y posteriormente puede ser consultada por el usuario.

 

Si solo se le envía el primer parámetro:

EXEC P_BusCadTxtProgramables   

@PS_Cadena = ‘CuentasBancarias’

Los resultado de la búsqueda son desplegados al final de le ejecución. Para cualquier duda, quedo a sus órdenes.

No hay comentarios:

Publicar un comentario