Присоединение к недоступному столбцу на сервере SQL - PullRequest
0 голосов
/ 08 июня 2018

В хранимой процедуре, когда я использую недоступный столбец в таблице для соединения со столбцом во временной таблице, он не выдает ошибку при компиляции.Принимая во внимание, что, когда я соединяю тот же самый недоступный столбец с основной таблицей, он генерирует ошибку во время компиляции.Могу ли я узнать причину Причины или поведения.

Например, рассмотрим приведенный ниже запрос

  1. Выберите TableA.Unknown_Column From TableA - Это выдает ошибку, что "Unknown_Column"не существует (во время компиляции)

  2. Выбрать TableA.Unknown_Column из TableA Join #Temp_Table - Это компиляция прошла успешно

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

[временная] схема таблицы не создается при компиляции кода.Или когда-либо раньше.Он создан только для выполнения кода.Таким образом, SQL Server проверяет схему при выполнении.

Таблица [Standard] уже создала / знает схему, поэтому при использовании ее в Management или Visual studio IDE может проверить или ваш код ссылается на действительную схему (структура таблицы) перед компиляцией объекта / предотвращение компиляции в этом случае.

0 голосов
/ 08 июня 2018

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

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