ALTER VIEW提供无效的列名,但SELECT工作正常

时间:2017-02-14 20:17:26

标签: sql-server view sql-server-2012

我正在尝试更改视图,但我收到以下错误:

  

Msg 207,Level 16,State 1,Procedure PackingList
无效的列名' NetLbs'。

这看起来像是一个自解释的消息,但问题是列 存在。如果我运行作为视图一部分的选择它完全正常。

这是我的修改声明。

alter view [vw].[PackingList]
as
select b.Id,
   b.NetLbs

from WorkOrderDetails d
join Boxes b on b.Id = d.BoxId

如果我只执行此部分,它可以正常工作。

select b.Id,
   b.NetLbs

from WorkOrderDetails d
join Boxes b on b.Id = d.BoxId

我尝试删除视图并使用create,但也失败了。 所以我用这个sql创建了视图。

create view [vw].[PackingList] as select null as test

而且改变仍然失败。

但是我了解到,如果我在dbo架构中创建视图,它就可以工作。我不确定接下来应该尝试什么。

1 个答案:

答案 0 :(得分:0)

user3083310建议将架构放在我的表格前面。我这样做了,它完美无缺。

另请参阅this post中的Aaron Bertrand,详细了解您应该执行此操作的原因。