Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Временная таблица с именем, требующим [] - как узнать наличие?  [new]
quoted table
Guest
Дано:

Microsoft SQL Server 2005 - 9.00.5069.00 (X64) 
Aug 22 2012 18:02:46
Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)

use mydb
go
create table [#t-1-2-3] (n int)

Проверяем:
use tempdb
go
select name from sys.objects where type='U' and name like '%-%'

name
--------------------------------------------------------------------------------------------------------------------------------
#t-1-2-3____________________________________________________________________________________________________________0000000BEF98

(1 row(s) affected)

- всё в порядке, таблица создана. Если бы в имени таблицы не было символов, требующих квотирования имения, я бы факт существования временной таблицы определял так:
select object_id('tempdb..#mytable')

однако в данном случае
select object_id('tempdb..#t-1-2-3')

возвращает NULL. И
select object_id('tempdb..[#t-1-2-3]')

тоже возвращает NULL. Как проверить факт существования таблицы в описанном случае?
20 фев 18, 11:46    [21204218]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблица с именем, требующим [] - как узнать наличие?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
quoted table,
та вроде всё нормально

create table [#t-1-2-3] (n int)
SELECT OBJECT_ID('tempdb..#t-1-2-3')
-- -1599351997
20 фев 18, 11:51    [21204236]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблица с именем, требующим [] - как узнать наличие?  [new]
quoted table
Guest
TaPaK
quoted table,
та вроде всё нормально

Мда, и впрямь. Странно, почему у меня сначала это не работало. Спасибо.
20 фев 18, 12:25    [21204393]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить