| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
Способы подсчета количества записей в каждой из таблиц базы данных В этой стате рассматриваются несколько способов, с помощью которых можно подсчитать количество записей в таблицах базы данных MS SQL Server Способ 1: Поскольку приведенный ниже sql-код для подсчета количества записей использует таблицу sysindexes, его результат зависит от того, была ли обновлена статистика. T-SQL:
select substring(o.name, 1, 30) Table_Name ,i.rows Number_of_Rows В приведенном примере xtype = 'u' используется для выбора объектов типа "таблица", а использование indid < 2 гарантирует выборку всех таблиц (как имеющих, так и не имеющих индексы). Способ 2: Следующий sql-код также может быть использован для определения количества записей в таблицах базы данных. Для подсчета числа строк этот sql-код использует функцию агрегации. Обрамление кавычками выбранного названия таблицы необходимо для обработки пробелов в названии (если такие названия существуют). T-SQL:
SET NOCOUNT ON FETCH NEXT FROM tables_cursor INTO @tablename
WHILE (@@fetch_status <> -1)
FETCH NEXT FROM tables_cursor INTO @tablename Способ 3: Для решения поставленной задачи можно также использовать недокументированную хранимую процедуру sp_Msforeachtable. Sp_Msforeachtable сканирует все таблицы в определенной базе данных и выполняет указанную sql-команду (ы) для каждой из таблиц. Для подстановки имени таблицы используется символ "?". T-SQL: sp_msforeachtable @command1= 'print ''?''', @command2 = "select count(*) from ?" |
|
| ||||||||||||||||
|