Có cách nào để đếm các bảng không có hàng trong cơ sở dữ liệu của tôi bằng cách sử dụng câu lệnh T-SQL
không?Làm cách nào để đếm các bảng trống trong cơ sở dữ liệu?
12
A
Trả lời
15
Có bạn đi ... sử dụng một bảng có nguồn gốc.
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
từ khtan @SQL Server Forums, điều này được sử dụng để thả tất cả các bảng trống, có thể bạn có thể thích ứng với nó để ra một số?
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
Tôi không có SQLServer ở đây nhưng tôi có thể sử dụng nó nếu bạn muốn.
4
tôi sử dụng như sau:
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
Tôi thực sự thích cách tiếp cận này bởi vì bạn chỉ đếm các bảng và hàng. Nếu bạn cần kích thước bảng hoặc khung nhìn, procs, vv thì sys.objects sẽ giúp. – Rob
Các vấn đề liên quan
- 1. Mở rộng cơ sở dữ liệu PHPUnit - Làm cách nào để có tập dữ liệu trống?
- 2. Làm cách nào để hiển thị danh sách các bảng trong cơ sở dữ liệu khác?
- 3. Làm cách nào để đếm số lượng kết nối mở trong cơ sở dữ liệu sqlite?
- 4. Làm cách nào để xóa khỏi cơ sở dữ liệu?
- 5. Cách đếm số hàng trong bảng cơ sở dữ liệu ở Django
- 6. Đa hình trong các bảng cơ sở dữ liệu SQL?
- 7. Làm thế nào để làm trống một cơ sở dữ liệu SQL?
- 8. Danh sách các bảng không trống trong cơ sở dữ liệu MySQL
- 9. Sao chép bảng từ một cơ sở dữ liệu sang một cơ sở dữ liệu khác
- 10. Làm thế nào để xóa tất cả các bảng trong cơ sở dữ liệu MySQL?
- 11. Chọn nhiều số đếm từ một bảng cơ sở dữ liệu trong một lệnh sql
- 12. Làm thế nào để chèn dữ liệu mẫu vào bảng cơ sở dữ liệu MySQL
- 13. Làm cách nào để đổi tên một cột trong bảng cơ sở dữ liệu bằng SQL?
- 14. Làm cách nào để nhập bảng từ cơ sở dữ liệu khác trong sqlite?
- 15. Làm cách nào để ngăn người dùng có thể xem các cơ sở dữ liệu khác và các bảng từ cơ sở dữ liệu khác?
- 16. Cách tốt nhất để lập chỉ mục dữ liệu bảng cơ sở dữ liệu trong Solr?
- 17. Làm thế nào để thả tất cả các bảng trong cơ sở dữ liệu mà không làm rơi cơ sở dữ liệu?
- 18. Cơ sở dữ liệu SQL hoàn toàn trống
- 19. Làm cách nào để di chuyển Sơ đồ cơ sở dữ liệu SQL Server sang cơ sở dữ liệu khác?
- 20. Làm thế nào để sao chép dữ liệu từ cơ sở dữ liệu/bảng này sang cơ sở dữ liệu/bảng khác
- 21. Làm cách nào để xóa cơ sở dữ liệu MySQL?
- 22. Bảng cơ sở dữ liệu hoặc XML
- 23. Cập nhật bảng cơ sở dữ liệu từ một bảng cơ sở dữ liệu SQL Server sang bảng cơ sở dữ liệu SQL Server khác?
- 24. làm cách nào để giảm giá cho các mặt hàng trong cơ sở dữ liệu?
- 25. Làm cách nào để mở cơ sở dữ liệu lõi?
- 26. Làm cách nào để chỉ lấy lược đồ cơ sở dữ liệu vào tập dữ liệu?
- 27. Làm cách nào để chèn các giá trị bảng từ một cơ sở dữ liệu sang cơ sở dữ liệu khác?
- 28. SQL để kiểm tra xem cơ sở dữ liệu có trống không (không có bảng)
- 29. Làm cách nào để tăng tốc độ xóa khỏi bảng cơ sở dữ liệu lớn?
- 30. Bảng xóa MySQL - Cơ sở dữ liệu hiện tại hoặc mọi cơ sở dữ liệu?
@Rubens Farias, tôi không hiểu, '- exec (@sql)' đã được nhận xét? –
ops, xấu của tôi, xin lỗi =) –