|
Навигация
|
Главная » Sql Способы подсчета количества записей в каждой из таблиц базы данныхИсточник: realcoding Способы подсчета количества записей в каждой из таблиц базы данных T-SQL: select substring(o.name, 1, 30) Table_Name ,i.rows Number_of_Rows from sysobjects o inner join sysindexes i on (o.id = i.id) where o.xtype = 'u' and i.indid < 2 order by o.name В приведенном примере xtype = 'u' используется для выбора объектов типа "таблица", а использование indid < 2 гарантирует выборку всех таблиц (как имеющих, так и не имеющих индексы). Способ 2: Следующий sql-код также может быть использован для определения количества записей в таблицах базы данных. Для подсчета числа строк этот sql-код использует функцию агрегации. Обрамление кавычками выбранного названия таблицы необходимо для обработки пробелов в названии (если такие названия существуют). T-SQL: SET NOCOUNT ON DECLARE tables_cursor CURSOR FOR SELECT name FROM sysobjects WHERE type = 'U' order by 1 OPEN tables_cursor DECLARE @tablename varchar(50) FETCH NEXT FROM tables_cursor INTO @tablename WHILE (@@fetch_status <> -1) BEGIN select @tablename = quotename(@tablename, '[]') DECLARE @CMD VARCHAR(100) PRINT @TABLENAME SELECT @CMD = ' select count(*) from '+@tablename+' ' EXEC (@CMD) FETCH NEXT FROM tables_cursor INTO @tablename END DEALLOCATE tables_cursor SET NOCOUNT OFF Способ 3: Для решения поставленной задачи можно также использовать недокументированную хранимую процедуру sp_Msforeachtable. Sp_Msforeachtable сканирует все таблицы в определенной базе данных и выполняет указанную sql-команду (ы) для каждой из таблиц. Для подстановки имени таблицы используется символ "?". T-SQL: sp_msforeachtable @command1= 'print ''?''', @command2 = "select count(*) from ?" Выводимые таблицы с хранимым результатом. Часть 1. Docsvision показала 100% совместимость с Microsoft SQL Server 2012.. Утилита SQL*Plus. Создание и выполнение сценариев. Часть III. Особенности использования таблиц, организованных по индексу. Анализ результатов tkprof. Главная » Sql |
© 2024 Team.Furia.Ru.
Частичное копирование материалов разрешено. |