Gå til innhold

Anbefalte innlegg

Hei

 

Jeg har en select setning som looper igjennom sysdatabases

 

eks.

select name as db,( select count(*) from name..bruker ) as 'ant brukere'

from sysdatabases

where name like 'a%'

 

som skal gi:

db ant brukere

aloa 5

akok 10

amama 1

 

Noen forslag til hvordan jeg skal få dette til å fungere?

Lenke til kommentar
Videoannonse
Annonse

Jeg klarer det ikke uten å bruke en cursor, men hvis det ikke er noe problem så kan du gjøre slik.

Eksempelet bruker sys tabeller som finnes i SQL Server 2005, men du får bytte dem ut med tilsvarende tabeller som finnes i SQL Server 2000 hvis det er det du bruker.

 

SQL strenger jeg bygger opp kan du modifisere til å benytte din egen tabell for brukere som det ser ut som du bruker.

 

declare @tbl table(dbname sysname,AntallBrukere int)
declare @dbname sysname, @sql nvarchar(max)

declare c cursor for select name from master.sys.databases

open c

fetch next from c into @dbname

while @@fetch_status=0
begin
fetch next from c into @dbname
set @sql='select '+quotename(@dbname,'''')+',count(*) from '+quotename(@dbname)+'.sys.database_principals'
insert into @tbl exec sp_executesql @sql
end

close c

deallocate c

select * from @tbl

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...