Il y a un code qui sert à créer une procédure stockée pour retrouver des caractères dans les tables, ce code est très pratique lorsqu'on étudie un logiciel et on veut savoir ou vont les données qu'on y inscrit, le voici:
Maintenant je veux retrouver cette entrée dans la base de données, pour ce faire, il faut créer une procédure stockée qui nous permettra de le faire, voici le code pour créer cette procédure que nous appellerons fc_trouvetout:
J'aimerais savoir s'il y a un code qui nous permettrait de rechercher des caractères mais dans les vues?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 create proc [dbo].[fc_trouvetout] (@cherche as varchar(2000)) as /* Auteur : Fabien Celaia * Date : 16.10.2007 */ begin declare @tb varchar(100), @co varchar(100), @sql nvarchar(500) select o.name TBL, c.name COL, 0 NBRE into #Result from sysobjects o inner join syscolumns c on c.id=o.id inner join systypes t on t.xtype=c.xtype where c.length >= datalength (@cherche) and t.name like '%char%' and o.type='U' declare cur cursor for select TBL, COL from #result -- for update open cur FETCH NEXT FROM cur INTO @tb, @co WHILE @@FETCH_STATUS = 0 BEGIN set @sql = 'declare @i int select @i=count(*) from '+@tb +' where '+@co+' like ''%'+@cherche+''' if @i > 0 update #result set NBRE=@i where COL='''+@co+''' AND TBL = '''+@tb+'''' exec sp_executesql @sql FETCH NEXT FROM cur INTO @tb, @co END close cur deallocate cur select * from #Result where NBRE>0 drop table #Result end
Merci
Un Québecois qui débute dans SQL
Partager