Bonjour,

J'ai sur ma base de données beaucoup de procédures stokées (2500 environ) et je voudrai savoir quelles sont les procédures qui font des inserts, des deletes, des updates.

J'ai pensé à utiliser les tables systèmes comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
select 
	routine_name,
	routine_definition 
from 
	information_schema.routines
where 
	routine_type='PROCEDURE'
 
order by routine_name
ce qui me sort la liste des procédures avec leur définition. Je voudrai éviter de me taper toutes ces procédure a la main et faire directement un contains() sur la définition ma procédure pour avoir un résultat rapide et complètement sûr.

J'ai donc modifié ma requête comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
select 
	routine_name,
	routine_definition 
from 
	information_schema.routines
where 
	routine_type='PROCEDURE'
	and contains(routine_definition,' delete ')
order by routine_name
mais j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Msg*7601, Niveau*16, État*2, Ligne*1
Impossible d'utiliser le prédicat CONTAINS ou FREETEXT sur table ou vue indexée 'information_schema.routines', car il n'y a pas d'index de texte intégral.
Est-ce que quelqu'un à une idée pour contourner le problème?