Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как проверить существование временной таблицы ?
|
|||
|---|---|---|---|
|
#18+
Собственно, сабж. Проверка существования "обычной" таблицы - что-то типа select count(*) from sysobjects where id = object_id('PersistTable') А где хранится информация о временных таблицах ? Конечно, можно попробовать сделать выборку из нее и если произойдет ошибка, то ее это значит, что таблицы нет. Но хотелось бы более приемлемый вариант, без обвешивания проверками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2001, 14:55 |
|
||
|
Как проверить существование временной таблицы ?
|
|||
|---|---|---|---|
|
#18+
If object_ID('tempdb..#tmp') Is Not Null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2001, 15:27 |
|
||
|
Как проверить существование временной таблицы ?
|
|||
|---|---|---|---|
|
#18+
листай tempdb..sysobjects ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2001, 15:50 |
|
||
|
Как проверить существование временной таблицы ?
|
|||
|---|---|---|---|
|
#18+
Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2001, 16:03 |
|
||
|
Как проверить существование временной таблицы ?
|
|||
|---|---|---|---|
|
#18+
А чем поможет tempdb..sysobjects? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2001, 16:36 |
|
||
|
Как проверить существование временной таблицы ?
|
|||
|---|---|---|---|
|
#18+
Оба способа работают. select object_id('tempdb..#changeslog') select id from tempdb..sysobjects where id = object_id('tempdb..#changeslog') Так что существование таблицы можно как хочешь проверять. А tempdb..sysobjects нужна для того же, что и sysobjects в любой DB Данные из нее брать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2001, 16:53 |
|
||
|
Как проверить существование временной таблицы ?
|
|||
|---|---|---|---|
|
#18+
Ответив на "листай tempdb..sysobjects" я имел в виду, что не работает select ... from tempdb..sysobjects where Name = '...' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2001, 13:58 |
|
||
|
Как проверить существование временной таблицы ?
|
|||
|---|---|---|---|
|
#18+
Ну, ясен пень, where name = '...' работать не будет. Для временных таблиц реальные имена, которые используются в sysobjects не совпадают с пользовательскими. Насколько я понимаю, это сделано для того, чтобы временные таблицы были ограничены областью видимости данного коннекта. Создадим таблицу #t1. Если выполнить запрос select * from tempdb..sysobjects where id = object_id('tempdb..#t1') в этом же коннекте и в другом, то в первом вернется одна строчка, а в другом - нет. А вот если выполнить запрос select * from tempdb..sysobjects where name like '#t1%', то результат будет прекрасно виден в обоих коннектах! Причем можно полюбоваться на сформированное реальное имя временной таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2001, 14:23 |
|
||
|
Как проверить существование временной таблицы ?
|
|||
|---|---|---|---|
|
#18+
А если есть еще таблица #t11? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2001, 14:54 |
|
||
|
Как проверить существование временной таблицы ?
|
|||
|---|---|---|---|
|
#18+
Именно поэтому не надо селектить напрямую, используя "name like '#t1%'", а нужно использовать object_id('tempdb..#t1'), который вернет все корректно. Это просто был пример, чтобы проиллюстрировать работу сервера с временными таблицами... Как они физически выглядят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2001, 15:32 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32005183&tid=1826851]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 259ms |
| total: | 417ms |

| 0 / 0 |
