Значение синтаксиса в Sql Server - PullRequest
0 голосов
/ 06 марта 2012

Что означает это конкретное утверждение, я столкнулся с хранимой процедурой, в которой это условие проверяется несколько раз.

Может кто-нибудь объяснить это мне, пожалуйста.Я хорошо понимаю, что мы проверяем, существует ли эта временная таблица.

Я не понимаю, что означают две точки '..' и что означает 'U'

IF OBJECT_ID('TEMPDB..#tablename', 'U') IS NOT NULL

Ответы [ 3 ]

1 голос
/ 06 марта 2012

... и префикс 'TEMPDB..' означает, что он существует в базе данных tempdb в вашей схеме по умолчанию (обычно это dbo).

1 голос
/ 06 марта 2012

Функция OBJECT_ID проверяет, существует ли эта конкретная таблица в базе данных или нет, и U задает USER TABLE.

0 голосов
/ 06 марта 2012

Ознакомьтесь с документацией OBJECT_ID .Возвращает идентификатор объекта в базах данных.В этом случае он ищет созданную пользователем ('U') временную таблицу с именем #tablename в схеме по умолчанию (..).

Вы также можете посмотреть на sys.objects документация.В частности, 'type' для допустимых значений 'object_type'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...