Script para probar Tablas

22/11/2005 - 00:50 por Gijon | Informe spam
Hola como puedo saber mediante algun script cuales tablas de una Base de
Datos contiene registros o de otra forma que tablas estan vacias...


Gracias...
 

Leer las respuestas

#1 Alejandro Mesa
22/11/2005 - 02:13 | Informe spam
Gijon,

1 - Crear un cursor para traer todas las tablas en la db y por cada una
hacer "select count(*)" y tomar solo las que tengan como resultado 0.

2 - Usar la tabla de sistema sysindexes y traer todas las tablas con la
columna rows = 0 (indid = 0 or indid = 1)

3 - Usar procedimiento propietario de Microsoft (no recomendado usar en
produccion) sp_msforeachtable

Ejemplo:

use northwind
go

create table #t (
tname sysname,
rcnt int
)

declare @tn sysname
declare @sql nvarchar(4000)

declare my_cursor cursor local fast_forward
for
select
quotename(table_schema) + '.' + quotename(table_name)
from
information_schema.tables
where
objectproperty(object_id(quotename(table_schema) + '.' +
quotename(table_name)), 'IsUserTable') = 1
and objectproperty(object_id(quotename(table_schema) + '.' +
quotename(table_name)), 'IsMSShipped') = 0

open my_cursor

while 1 = 1
begin
fetch next from my_cursor into @tn

if @@error != 0 or @@fetch_status != 0 break

set @sql = N'select ''' + @tn + N''', count(*) from ' + @tn

insert into #t
exec sp_executesql @sql
end

close my_cursor
deallocate my_cursor

select * from #t where rcnt = 0

drop table #t
go


AMB

"Gijon" wrote:

Hola como puedo saber mediante algun script cuales tablas de una Base de
Datos contiene registros o de otra forma que tablas estan vacias...


Gracias...


Preguntas similares