Cómo encontrar rápidamente todos los procedimientos almacenados que utilizan un determinado campo
Cuando un sistema utiliza muchas tablas y hay una gran cantidad de procedimientos almacenados, y cuando se elimina un determinado campo de una tabla en la base de datos, los procedimientos almacenados correspondientes también deben cambiarse, pero no No lo sé. ¿Qué procedimientos almacenados utilizan este campo? Entonces, ¿qué debemos hacer? Podemos buscar los procedimientos almacenados que usan este campo uno por uno en los documentos anteriores, pero esto es muy eficiente y propenso a errores. Podemos usar el siguiente método para encontrar todos los procedimientos almacenados que usan un determinado campo. Las siguientes funciones:
[sql] ¿ver Plaincopyprint?
01.GO
02.SELECT obj.Name es el nombre del procedimiento almacenado, sc.TEXT es el contenido del procedimiento almacenado
03.FROM syscomments sc
04.INNER JOIN sysobjects obj ON sc.Id = obj.ID
05.WHERE sc.TEXT LIKE '' ' Nombre del campo ' ''
06.AND TYPE = 'P'
07.GO
GO
SELECT obj.Name almacenamiento Nombre del procedimiento, sc.TEXT contenido del procedimiento almacenado
DESDE syscomments sc
INNER JOIN sysobjects obj ON sc.Id = obj.ID
DONDE sc.TEXT LIKE '' 'Nombre de campo' ''
AND TYPE = 'P'
GO
El siguiente es un ejemplo, como buscar todos el AdId en la base de datos Todos los procedimientos almacenados para los campos.
[sql] ver Plaincopyprint?
01.USE KyCms
02.GO
03.SELECT obj.Name nombre del procedimiento almacenado , sc.TEXT contenido del procedimiento almacenado
04.FROM syscomments sc
05.INNER JOIN sysobjects obj ON sc.Id = obj.ID
06.WHERE sc.TEXT COMO '' 'AdID' ''
07.AND TYPE = 'P'
08.GO
USE KyCms
GO
SELECT obj.Name nombre del procedimiento almacenado, sc.TEXT contenido del procedimiento almacenado
FROM syscomments sc
INNER JOIN sysobjects obj ON sc.Id = obj.ID
DONDE sc.TEXT COMO '' 'AdID' ''
Y TIPO = 'P'
GO