|
|
|
Подсчет количества строк
|
|||
|---|---|---|---|
|
#18+
Привет всем! Требуется подсчитать общее количество строк во всех юзверских таблицах. Никак не могу сообразить, как все связать. Подскажите, пжлста!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2002, 16:10:57 |
|
||
|
Подсчет количества строк
|
|||
|---|---|---|---|
|
#18+
На скорую руку: 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2002, 16:38:44 |
|
||
|
Подсчет количества строк
|
|||
|---|---|---|---|
|
#18+
Вот спасибо. Какая полезная процедура.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2002, 16:49:16 |
|
||
|
Подсчет количества строк
|
|||
|---|---|---|---|
|
#18+
Она из серии undocumented. То бишь, для разовых вещей (по случаю) годится, а вот использовать в коде, который будет жить долго не стоит.... Могут переименовать или удалить с выходом нового сервиспака... Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2002, 17:23:17 |
|
||
|
Подсчет количества строк
|
|||
|---|---|---|---|
|
#18+
То 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 09:12:58 |
|
||
|
Подсчет количества строк
|
|||
|---|---|---|---|
|
#18+
2Snake: Ну... не знаю. Таблицу без индекса, по крайней мере, такая процедура вообще не видит. Даже если индекс создать потом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 09:49:35 |
|
||
|
Подсчет количества строк
|
|||
|---|---|---|---|
|
#18+
И вообще, увлекаться undocumented не стоит - я тут уже опозорился в топике с Triggers - не вспомнил про OBJECTPROPERTY. Спасибо Glory - он ответил единственно верно. Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 09:51:51 |
|
||
|
Подсчет количества строк
|
|||
|---|---|---|---|
|
#18+
По-моему, вот так - самое простое. Не уверен, может что-то и пропустил - писал по памяти. Но, по идее - если хип, то будет запись с нулем, а если индекс есть, то - с единицей... select rowcnt, object_name(id) from sysindexes where indid <= 1 and id > 100 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 23:39:38 |
|
||
|
Подсчет количества строк
|
|||
|---|---|---|---|
|
#18+
Ну а как с таблицами без индексов? Почему бы не сделать это все простым курсором. Ведь это ж так просто :). Это ж наверняка не часто повторяющаяся задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 08:22:07 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32032211&tid=1822401]: |
0ms |
get settings: |
9ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
172ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 473ms |

| 0 / 0 |
