Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Исходные коды - Алексей Немиро -

Microsoft SQL Server - Общие вопросы

Все примеры / Общие вопросы

Как получить количество строк каждой таблицы БД?

Автор: Алексей Немиро | добавлено: 30.12.2011, 13:04 | просмотров: 5053 (1+) | комментариев: 0 | рейтинг: *x10
Это простой пример показывает, как можно в SQL Server получить количество строк данных, находящихся в каждой таблице БД. Список таблиц получается из information_schema.tables, на основе которого формирует динамичный запрос, который и выводит количество строк данных каждой найденной таблицы.

Код

-- создаем таблицу в памяти, в ней будут храниться исключения
DECLARE @tbl TABLE (checked nvarchar(255));

-- переменная для хранения динамичного sql-запроса
DECLARE @q nvarchar(max);
SET @q = ''; -- сразу ставим пустую строку, чтобы можно было без проблем выполнять конкатенацию 

-- берем первую таблицу
DECLARE @table nvarchar(255);
SELECT TOP 1 @table = TABLE_NAME FROM information_schema.tables

-- цикл будет работать, пока в последнем запросе есть какие-то данные
WHILE @@ROWCOUNT > 0 BEGIN
  -- формируем запрос на получение количества данных в текущей таблице
  IF @q <> '' SET @q = @q + ', ';
  SET @q = @q + '(SELECT COUNT(*) FROM ' + @table + ') AS [' + @table + ']';
  -- добавляем таблицу в исключения, чтобы не проверять ее повторно
  INSERT INTO @tbl
  SELECT @table;
  -- берем следующую таблицу, игнорируя таблицы в списке исключений
  SELECT TOP 1 @table = TABLE_NAME FROM information_schema.tables
  WHERE TABLE_NAME NOT IN (SELECT checked FROM @tbl);
END;

SET @q = 'SELECT ' + @q;

--print @q; -- debug

exec(@q);
Об авторе

Алексей Немиро

Интернет-деятель. Автор многочисленных статей и переводов статей по программированию и информационным технологиям. Работы Алексея можно найти в популярных печатных изданиях компьютерной тематики. Автор проекта Kbyte.Ru.
Сейчас Алексей занимается профессиональным Web-программированием на базе технологий .NET Framework. Иногда пишет различные программки и компоненты для Windows и Android. В свободное время занимается Web-дизайном, увлекается фото- и видеосъемкой.

См. также:
Профиль автора
Алексей Немиро
Последние комментарии (всего: 0)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.


Нет комментариев...

Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Люди на Kbyte.Ru
Реклама
Счетчики