0
我有一个如下所述的存储过程。我正在使用SQL Server 2008 R2。当我从SQLCMD运行这个存储过程时,它正在工作并创建存储过程,但是当我从SSMS执行相同的过程时,它将失败,并显示下面的错误。当在SSMS上运行存储过程但在SQLCMD上运行存储过程时出现“列无效”错误
Msg 207,Level 16,State 1,Procedure TestProc,Line 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
怎么能这个问题能解决吗?
你确定两个版本都是针对相同的**数据库**运行吗? – JNK
你有一个名为'表'的表吗?如果是这样,你应该使用[table]来代替。 – Johan
如果您在不同用户的SSMS和SQLCMD下运行,请确保正确指定模式前缀。也许在列中有dbo.table,而没有列的some_other_schema.table ...总是对包含模式前缀有用。 –