Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подсчет количества строк / 10 сообщений из 10, страница 1 из 1
07.06.2002, 16:10:57
    #32032099
ila
ila
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет количества строк
Привет всем!
Требуется подсчитать общее количество строк во всех юзверских таблицах.
Никак не могу сообразить, как все связать. Подскажите, пжлста!!
...
Рейтинг: 0 / 0
07.06.2002, 16:38:44
    #32032105
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет количества строк
На скорую руку:

CREATE TABLE #T (cnt int)
INSERT #T VALUES (0)
EXECUTE sp_MSForEachTable 'UPDATE #T SET cnt = cnt + (SELECT COUNT(*) A FROM ?)'
SELECT cnt FROM #T
DROP TABLE #T
...
Рейтинг: 0 / 0
07.06.2002, 16:49:16
    #32032110
ila
ila
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет количества строк
Вот спасибо.
Какая полезная процедура....
...
Рейтинг: 0 / 0
07.06.2002, 17:23:17
    #32032124
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет количества строк
Она из серии undocumented.
То бишь, для разовых вещей (по случаю) годится,
а вот использовать в коде, который будет жить
долго не стоит.... Могут переименовать или
удалить с выходом нового сервиспака...

Удачи
...
Рейтинг: 0 / 0
10.06.2002, 09:12:58
    #32032209
snake
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет количества строк
То jimmers, а так:
ALTER PROCEDURE sp_TabRowCount
@OrderCol int = 1
as
select o.name, i.rowcnt
from sysindexes i inner join sysobjects o on
o.id = i.id
where type = 'U' and i.status = 18450
order by case @OrderCol when 1 then o.name else null end, case @OrderCol when 2 then i.rowcnt else null end
...
Рейтинг: 0 / 0
10.06.2002, 09:49:35
    #32032211
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет количества строк
2Snake:

Ну... не знаю.
Таблицу без индекса, по крайней мере, такая процедура вообще не видит. Даже если индекс создать потом...
...
Рейтинг: 0 / 0
10.06.2002, 09:51:51
    #32032212
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет количества строк
И вообще, увлекаться undocumented не стоит - я тут уже опозорился в топике с Triggers - не вспомнил про OBJECTPROPERTY. Спасибо Glory - он ответил единственно верно.

Удачи
...
Рейтинг: 0 / 0
10.06.2002, 23:39:38
    #32032403
klama
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет количества строк
По-моему, вот так - самое простое. Не уверен, может что-то и пропустил - писал по памяти. Но, по идее - если хип, то будет запись с нулем, а если индекс есть, то - с единицей...

select rowcnt, object_name(id)
from sysindexes
where indid <= 1
and id > 100
...
Рейтинг: 0 / 0
11.06.2002, 08:22:07
    #32032429
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет количества строк
Ну а как с таблицами без индексов?
Почему бы не сделать это все простым курсором. Ведь это ж так просто :). Это ж наверняка не часто повторяющаяся задача.
...
Рейтинг: 0 / 0
11.06.2002, 16:42:46
    #32032523
klama
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет количества строк
Если таблица без индекса, то в sysindexes будет запись с indid=0.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подсчет количества строк / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]