Ошибка «Недопустимый столбец» появляется при запуске хранимой процедуры в SSMS, но не в SQLCMD - PullRequest
0 голосов
/ 22 августа 2011

У меня есть хранимая процедура, упомянутая ниже. Я использую SQL Server 2008 R2. Когда я запускаю эту хранимую процедуру из SQLCMD, она работает, и хранимая процедура создается, но когда я выполняю ее из SSMS, происходит сбой с ошибкой, приведенной ниже.

Сообщение 207, Уровень 16, Состояние 1, Процедура TestProc, Строка 5 Неверное имя столбца 'col1.

SET ANSI_NULLS ON GO

SET QUOTED_IDENTIFIER OFF GO

CREATE PROC [dbo].[TestProc]
AS
BEGIN
SELECT t.col1 FROM table t /* But note that col1 is not in table t*/
END
RETURN

Как можно решить эту проблему?

1 Ответ

1 голос
/ 23 августа 2011

Возможно ли, что когда вы пытались создать хранимую процедуру в SQLCMD, эта таблица в то время не существовала?Из-за функции «отложенного разрешения имен» в SQL Server это позволило бы создать хранимую процедуру.

Если во время создания хранимой процедуры существовала таблица DID, но не столбец, вы должны получить сообщение об ошибке, независимо от того, используете ли вы SQLCMD или SSMS.

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