¿Hay alguna manera de contar tablas sin filas en mi base de datos con la instrucción T-SQL
?¿Cómo contar tablas vacías en la base de datos?
12
A
Respuesta
15
ahí lo tienes ... usando una tabla derivada.
SELECT * FROM
(
SELECT
[TableName] = so.name,
[RowCount] = MAX(si.rows)
FROM
sysobjects so,
sysindexes si
WHERE
so.xtype = 'U'
AND
si.id = OBJECT_ID(so.name)
GROUP BY
so.name
) sub
WHERE sub.[RowCount] = 0
1
de khtan @SQL Server Forums, esto se utiliza para gota todas las mesas vacías, tal vez usted podría adaptarlo a la salida un conteo?
declare @name varchar(128), @sql nvarchar(2000), @i int
select @name = ''
while @name < (select max(name) from sysobjects where xtype = 'U')
begin
select @name = min(name) from sysobjects where xtype = 'U' and name > @name
select @sql = 'select @i = count(*) from [' + @name + ']'
exec sp_executesql @sql, N'@i int out', @i out
if @i = 0
begin
select @sql = 'drop table [' + @name + ']'
print @sql
-- unmask next to drop the table
-- exec (@sql)
end
end
No tengo SQLServer aquí pero podría intentarlo si lo desea.
4
uso el siguiente:
SELECT t.NAME AS TableName, sum(p.rows) as RowCounts
FROM sys.tables t
INNER JOIN sys.indexes i
ON t.OBJECT_ID = i.object_id
INNER JOIN sys.partitions p
ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
WHERE
i.name IS NULL AND i.index_id <= 1
GROUP BY
t.NAME, i.object_id, i.index_id, i.name
HAVING SUM(p.rows) = 0
+0
Me gusta mucho este enfoque porque solo cuentas las tablas y las filas. Si necesita tamaño de tabla o vistas, procs, etc. entonces sys.objects ayuda. – Rob
Cuestiones relacionadas
- 1. Necesita obtener tablas de datos vacías en .NET con esquema de tabla de base de datos
- 2. Lista de tablas no vacías en la base de datos MySQL
- 3. ¿Cómo colocar todas las tablas en la base de datos sin soltar la base de datos?
- 4. Lista de todas las tablas en la base de datos
- 5. Enumeraciones persistentes en las tablas de la base de datos
- 6. Crear tablas en la base de datos sqlite en android
- 7. Ingreso 3 tablas en la base de datos SQLite
- 8. Alterar las tablas de la base de datos en Django
- 9. Ordenar columnas en las tablas de la base de datos
- 10. Cómo contar filas vacías al leer desde Excel
- 11. Renombrar todas las tablas en la base de datos
- 12. ¿Cómo contar cada registro en cada tabla en una base de datos de SQL Server 2005?
- 13. ¿Cómo se eliminan todas las tablas vacías en SQLite?
- 14. Agregar nuevas tablas a la base de datos moodle
- 15. ¿Cómo obtener la lista de tablas en la base de datos, usando MS SQL 2008?
- 16. base de datos Oracle Hacer cumplir CHECK en varias tablas
- 17. Error en LINQ to SQL con cadenas vacías en la base de datos
- 18. ¿Cómo se maneja la gestión de la configuración de las tablas de la base de datos?
- 19. Máximo de tablas en una base de datos MySQL
- 20. Django: ¿Configura las tablas de códigos de la base de datos (también conocidas como tablas de referencia, tablas de dominio)?
- 21. ¿Cómo encontrar las tablas que ocupan la memoria máxima en la base de datos?
- 22. SQL - Unir dos tablas y contar elementos
- 23. ¿Abrir base de datos y ver tablas en sqlite3?
- 24. Listar todas las tablas en una base de datos
- 25. ¿Cómo volcar la base de datos mysql?
- 26. Cómo insertar 1 millón de filas al azar en la base de datos de tablas Oracle
- 27. Cómo visualizar el esquema de tablas de la base de datos en VS
- 28. Archivos de configuración frente a tablas de base de datos
- 29. Rieles: ¿Cómo enumerar las tablas/objetos de la base de datos utilizando la consola de Rails?
- 30. Cómo colocar todas las tablas de la base de datos con manage.py CLI en Django?
@Rubens Farias, no entiendo, '- exec (@sql)' ya está comentado? –
ops, my bad, sorry =) –