Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

Max Pro

 
Название:

T/SQL - способ получения числа строк таблицы по её имени или коду.

Дата: 09 November 2006
Описание: Для этого используйте таблицу UserCountRows, а для её формирования - процедуру ProcedureUserCountRows. Время отработки процедуры зависит от общего числа строк во всех таблицах. Обсуждение довольно бурно проходит здесь: http://sql.ru/forum/actualthread.aspx?tid=361252 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=199]T/SQL - способ получения числа строк таблицы по её имени или коду.[/CODEPOST]
Оценка: Проголосовало 1 посетителей, средняя оценка 3.00
Оценить:
  1 -- Создание и обновление таблицы UserCountRows
  2 CREATE PROCEDURE dbo.ProcedureUserCountRows
  3 AS
  4 DECLARE
  5 	@i Int,
  6 	@iMax Int,
  7 	@iId Int,
  8 	@sTable NVarChar(4000),
  9 	@sSql NVarChar(4000)
 10 -- END DECLARE
 11 IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id = object_id('dbo.UserCountRows')) TRUNCATE TABLE dbo.UserCountRows ELSE CREATE TABLE dbo.UserCountRows(id Int,RowsCount Int)
 12 SET @i=1
 13 SELECT @iMax=Count(*) FROM sysobjects WHERE xtype='U'
 14 WHILE @i<=@iMax
 15 BEGIN
 16 	SET @sSql='SELECT TOP 1 @iId=id,@sTable=name FROM (SELECT TOP '+Cast(@i AS NVarChar(4000))+' id,name FROM sysobjects WHERE xtype=''U'') a ORDER BY id DESC'
 17 	EXEC sp_executesql @sSql,N'@iId Int OUT,@sTable NVarChar(4000) OUT',@iId=@iId OUT,@sTable=@sTable OUT
 18 	SET @sSql='INSERT INTO dbo.UserCountRows SELECT '+Cast(@iId AS NVarChar(4000))+',COUNT(*) FROM '+@sTable
 19 	EXEC(@sSql)
 20 	SET @i=@i+1
 21 END
 22 /* Если кому непонятно как вытащить имя таблицы по её коду, объясняю:
 23  * SELECT id,name FROM sysobjects
 24  */-- Желаю приятной работы ;-)
Вернуться к списку исходников в категории ADO.NET
 
Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта