sin utilizar cursores

12/05/2004 - 22:13 por fabian | Informe spam
hola,

quiero saber cuanto ocupan las tablas de mi BD utilizando para ello el proc
'sp_spaceused'

ej: exec sp_spaceused 'nombretabla'

donde 'nombretabla' sería una variable que contendría todas las tablas de
una consulta realizada a la tabla 'sysobjects'.

Sé como hacerlo con cursores, pero hay alguna otra forma?

con cursores lo haría asi:

declare @name varchar(50)
declare c cursor for
select name from sysobjects where xtype='U'
open c
fetch next from c into @name
while @@fetch_status=0
begin
exec sp_spaceused @name
fetch next from c into @name
end
close c
deallocate c

Saludos.
 

Leer las respuestas

#1 Maxi
12/05/2004 - 22:19 | Informe spam
Si queres si o si usar ese Store para saber ese Dato, no veo otra
alternativa.

Suerte


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"fabian" escribió en el mensaje
news:%
hola,

quiero saber cuanto ocupan las tablas de mi BD utilizando para ello el


proc
'sp_spaceused'

ej: exec sp_spaceused 'nombretabla'

donde 'nombretabla' sería una variable que contendría todas las tablas de
una consulta realizada a la tabla 'sysobjects'.

Sé como hacerlo con cursores, pero hay alguna otra forma?

con cursores lo haría asi:

declare @name varchar(50)
declare c cursor for
select name from sysobjects where xtype='U'
open c
fetch next from c into @name
while @@fetch_status=0
begin
exec sp_spaceused @name
fetch next from c into @name
end
close c
deallocate c

Saludos.







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.676 / Virus Database: 438 - Release Date: 05/05/2004

Preguntas similares