Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как определить существует ли временная таблица с заданным именем ? / 9 сообщений из 9, страница 1 из 1
05.11.2002, 10:40:12
    #32064842
RedPank
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить существует ли временная таблица с заданным именем ?
...
CREATE TABLE #TmpTable
( ...
...
)
...
Если существует #TmpTable, то ...

Информация о временных таблицах лежит в tempdb..sysobjects. Но как определить кому эта таблица принадлежит ... ?
...
Рейтинг: 0 / 0
05.11.2002, 10:49:43
    #32064850
RedPank
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить существует ли временная таблица с заданным именем ?
... сам нашел

if OBJECT_ID('tempdb..#TmpTable) is Null
begin
print 'Нет таблицы !'
end
else
begin
print 'EXIST'
end
...
Рейтинг: 0 / 0
05.11.2002, 13:30:23
    #32064938
Дед Маздай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить существует ли временная таблица с заданным именем ?
use tempdb
go
create proc #TmpTable as select 1

exec #TmpTable

use Northwind

if OBJECT_ID('tempdb..#TmpTable') is Null
print 'Нет таблицы !'
else
print 'EXISTS'

------------------------------------------
EXISTS
...
Рейтинг: 0 / 0
05.11.2002, 14:17:57
    #32064958
snake
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить существует ли временная таблица с заданным именем ?
То Дед Маздай:
А так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
use tempdb 
go 
create proc #TmpTable as select  1  
go
exec #TmpTable 

use Northwind 

if OBJECT_ID('tempdb..#TmpTable','U') is Null 
print 'Нет таблицы !' 
else 
print 'EXISTS' 
...
Рейтинг: 0 / 0
05.11.2002, 21:26:19
    #32065138
Gobzo Kobler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить существует ли временная таблица с заданным именем ?
Это тоже работает:
Код: plaintext
1.
2.
3.
4.
5.
create table #a (a int)
if exists (select name from tempdb..sysobjects where name like '#a%')
print '#a exists'
else
print '#a does not exist'
drop #a
...
Рейтинг: 0 / 0
05.11.2002, 21:27:03
    #32065139
Дед Маздай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить существует ли временная таблица с заданным именем ?
Уже лучше :)
...
Рейтинг: 0 / 0
05.11.2002, 21:34:00
    #32065140
Дед Маздай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить существует ли временная таблица с заданным именем ?
Я имел в виду вариант snake. Для Gobzo Kobler:
create table #MyTmpTbl (a int)
--через 500 строк кода
create table #MyTmpTbl1 (a int)
--еще через 500
drop table #MyTmpTbl
--и потом, когда про это все забыли
if exists (select name from tempdb..sysobjects where name like '#MyTmpTbl%')
print '#MyTmpTbl exists'
else
print '#MyTmpTbl does not exist'
...
Рейтинг: 0 / 0
07.11.2002, 22:47:40
    #32065780
Дед Маздай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить существует ли временная таблица с заданным именем ?
Ввиду того, что данный вопрос всплывает с завидной периодичностью, предлагаю ответ snake включить в FAQ.
...
Рейтинг: 0 / 0
08.11.2002, 16:50:22
    #32065883
Gobzo Kobler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить существует ли временная таблица с заданным именем ?
Дед Маздай:

Это назвается напрашиваться на проблему. Я же не программист, а не терапевт :)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как определить существует ли временная таблица с заданным именем ? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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