Bonjour,
j'essaye désepérement de lister les utilisateurs de chaque table d'une base de données mais je me retrouve bloqué dans mon curseur...
Ce que j'utilise :
1- Lister les tables
2- Lister les users d'une table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select name from master.dbo.sysdatabases where has_dbaccess(name) = 1 order by name
Et tout ça dans mon curseur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 USE MaTable select * from sysusers where name like '%' and status<>0
Et la réponse :
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 declare @Lst_BDD as varchar(50) declare MonCurseur CURSOR for --Select chaq table select name from master.dbo.sysdatabases where has_dbaccess(name) = 1 order by name --Mise en curseur OPEN MonCurseur FETCH MonCurseur INTO @Lst_BDD --Liste des users de la table WHILE @@fetch_status = 0 BEGIN USE @Lst_BDD select * from sysusers where name like '%' and status<>0 FETCH MonCurseur INTO @Lst_BDD END --Fermeture + lib mem CLOSE MonCurseur DEALLOCATE MonCurseur
Merci d'avance de votre aide...Serveur*: Msg 170, Niveau 15, État 1, Ligne 14
Ligne 14 : syntaxe incorrecte vers '@Lst_BDD'.
Je ne sais pas comment chercher sur le forum car 'USE' est trop court pour les recherches !
Partager