Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Работа с несуществующими таблицами (http://forum.oszone.net/showthread.php?t=260491)

lxa85 13-05-2013 22:23 2149563

Работа с несуществующими таблицами
 
Здравствуйте.
Я несколько в тупиковом состоянии.
Почему MSSQL позволяет выполнять запросы к несуществующим таблицам?

Код:

CREATE VIEW [Temp_1]
AS
SELECT    TOP (100) PERCENT TDoc_All.TDocId, TDoc_All.Index,
                      TDoc_All_5.Index
FROM        TlDoc_All INNER JOIN
                      TDoc_All AS TDoc_All_5 INNER JOIN
                      TDocAll_Use ON TDoc_All_5.TDocId = TDocAll_Use.IdTDocSecond ON
                      TDoc_All.TDocId = TDocAll_Use.IdTlDocPrim
WHERE    (TDoc_All.Annulir = 'False')
ORDER BY TDoc_All.TDocId

Там, где я выделил, я могу писать все что угодно, любой номер 1, 2, 10, 15.
Все равно запрос выполняется, вид создается, и все поля присутствуют!
Проверяю как результат выборки: SELECT * FROM Temp_1;

Почему я не получаю ошибку выполнения? Что за бред?
CREATE PROCEDURE (Transact-SQL)
Ограничения
Процедура может ссылаться на таблицы, которые еще не существуют. Во время создания хранимой процедуры выполняется только проверка синтаксиса. Процедура не компилируется до первого выполнения. Ссылки на все упоминаемые в процедуре объекты разрешаются только во время компиляции. Таким образом, ничто не мешает создать синтаксически правильную процедуру, ссылающуюся на несуществующие таблицы, однако если эти таблицы будут отсутствовать во время выполнения хранимой процедуры, она завершится с ошибкой.


Вопрос снят, внимательней посмотрел синтаксис и таки увидел переопределение AS.


Время: 18:38.

Время: 18:38.
© OSzone.net 2001-