Sélectionnez la Requête à l'aide de la clause like en Sql server 2008
Table name : sp_text
Column name : obj_Text
Dans cette colonne, toutes les procédures stockées sont stockées sous forme de texte.
J'ai besoin de récupérer toutes les procédures stockées qui a raiserror
et %d dans raiserror
.
par exemple, UN SP contient les éléments suivants raiserror
.
raiserror('quantity adjustment is not allowed in row no %d', 16, 1, @fprowno)
J'ai essayé la requête ci-dessous, mais n'arrivent pas à le résultat.
select *
from sp_text_ismail
where obj_Text like '%raiserror%'
and obj_Text like '%/%d%'
OriginalL'auteur user292848 | 2011-01-10
Vous devez vous connecter pour publier un commentaire.
Utiliser le système de vue sys.sql_modules: beaucoup plus simple. Et vous pouvez échapper % avec des crochets dans l'
Vous aussi vous ne pouvez pas sélectionner ou d'un filtre sur une procédure stockée.
Je vous remercie beaucoup.
Vous ne pouvez pas le faire: à PARTIR de (procédures stockées) OÙ (stockées proc colonne) = foo
Voulez-vous dire que vous ne pouvez pas mettre un
EXEC
à l'intérieur d'unSELECT
déclaration? (Ce qui est vrai, mais sans rapport avec la question.) Ou que vous ne pouvez pas stocké procs basé sur leurs noms de colonne? (Qui est liée à la question, mais faux.)corriger à la fois. Je suppose que "sp_text" est une procédure stockée. Pauvres de nommage pour une table... lordy seigneur.
OriginalL'auteur gbn
Vous devez utiliser le caractère d'échappement " \ " dans votre requête et aussi le mentionner à la fin. Vous avez utilisé une barre oblique au lieu de l'arrière. En fait, vous pouvez utiliser n'importe quel caractère que l'évasion char, mais vous devez mentionner à la fin.
Essayer cette requête
Merci pour l'info. Pouvez-vous pls me donner un lien de référence pour ce fait? pour mon apprentissage ..
OriginalL'auteur Anil Soman