SQL Server - Listado de procedimientos almacenados que modifica

 
Vista:

Listado de procedimientos almacenados que modifica

Publicado por pablo (2 intervenciones) el 10/11/2009 14:38:37
Queria saber si alguien me puede ayudar a encontrar alguna sentencia para obtener el listado de todos los procedimientos almacenados que realicen alguna modificacion en tablas u otro objeto en SQL Server 2000.

Al ejecutar sp_depends ' nombredeprocedimiento' me dice si se realiza alguna modificaciíon pero no me dice si el procedimiento elimina datos.

Hay alguna manera para listar si un procedimiento realiza acciones de insert, update, delete, drop, create ?

Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Listado de procedimientos almacenados que modif

Publicado por Sago (11 intervenciones) el 10/11/2009 22:03:11
Hola buenas tardes, es primera vez que posteo aqui .. pero intentare ser de ayuda...

A mi, particularmente, me parece que el SP_Depends es bueno pero muy generico ...

Yo te puedo ayudar en SQL 2005, no se si las tablas esten en SQL 2000 pero creo que no ... pero de todas maneras te dejo la solucion ...

En SQL Server 2005 hay 2 tablas que te pueden ser de ayuda en primer lugar la vista "sys.procedures", esta tabla te indica todos los SP que hay en una Base de datos ... pero toda via no puedes ver que hace el SP .... para ver que hace el SP podriamos utilizar "sys.sql_modules" en la columna definition te trae todo o que hace el SP , es decir el codigo, entonces podrias hacer algo como ....

Select
*
From Sys.sql_modules
Where definition Like '%Insert%'

Ahi me traera todos los SP que tengan en algun lugar de su codigo la palabra Insert. pero para saber el nombre hago un INNER JOIN con "sys.procedures" por el campo "Object_ID" para que me traiga el nombre...

A continuacion te dejo el Query para que lo veas...

Select
p.name,*
From sys.sql_modules m
Inner join sys.procedures p
on m.object_id = p.object_id
where m.definition like '%Insert%'

Bueno ahi tienes el Ejemplo para hacer el query que te traiga los SP que hacen Insert.. de ahi puedes basarte para los demas...

Espero que te sirva...

Sago!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Listado de procedimientos almacenados que modifica

Publicado por Carlos (1 intervención) el 03/03/2013 16:14:30
Haber si puedo ayudarte un poco con la idea... por cada procedimiento almacenados ya existen las palabras o sintaxis reservadas para ejecutarse antes mencionadas esto trabaja a igual que una consulta,

Si deseas realizar eliminaciones de datos debes de crear las funciones o datos genericos que te permitan hacer modificaciones como buscar, como agregar datos, como eliminar desde la capa o función que estés realizando en tu proyecto... esta es la idea...

Por ejemplo si deseas ver este ejemplo que pienso que ya lo has visto...

create procedure NOMBREPROCEDIMIENTO
@PARAMETROENTRADA TIPO =VALORPORDEFECTO,
@PARAMETROSALIDA TIPO=VALORPORDEFECTO output
as
SENTENCIAS
select @PARAMETROSALIDA=SENTENCIAS;

esto ejemplo te puede ayudar

CREATE PROCEDURE nombreProdedimiento
-- Parámetros del SP
@Param1 AS Varchar(25),
@Param2 AS Bigint
.
.
.
AS
BEGIN

-- Insertar bloque de instrucciones a ejecutar. esto debe ir igual como lo hagas en la codificación de la capa o función donde la mandas a llamar
/*
SELECT
UPDATE
INSERT
DELETE
Lo que quieras....
*/
RETURN puedes retornar los datos...
END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar