无法架构绑定SQL Server视图

时间:2018-07-15 13:46:09

标签: sql sql-server

Create view vw_SingleSales with Schemabinding as
Select I.saleno, I.gin,I.ginbale,I.crop,I.whse_store,
I.receipt,I.netwt,I.storedate,
I.colorgrade,I.leafgrade,I.staple,I.mic,I.GPT,
I.Extmatr,I.remarks,I.Length,I.unif,I.purchno,
P.market_colorpd,P.market_micpd,
P.market_unifpd,P.market_extmatr,
P.market_gpt,P.market_remarks,

P.market_colorpd+P.market_micpd+
P.market_unifpd+P.market_extmatr+
P.market_gpt+P.market_remarks Tot_MarketPD,


P.loan_colorpd,P.loan_micpd,
P.loan_unifpd,P.loan_extmatr,
P.loan_gpt,P.loan_remarks,

P.loan_colorpd+P.loan_micpd+
P.loan_unifpd+P.loan_extmatr+
P.loan_gpt+P.loan_remarks Tot_LoanPD


from bschema.dbo.Bales_Invoiced_Tbl I 
inner join bschema.dbo.BSales_Contracts_Tbl S on I.saleno = S.saleno
left join bschema.dbo.Bales_PD_Tbl P on I.gin = P.gin and I.ginbale = P.ginbale and I.crop = P.Crop

我收到错误消息“消息4512,级别16,状态3,过程vw_SingleSales,第2行[批处理开始第0行]无法架构绑定视图'vw_SingleSales',因为名称'bschema.dbo.Bales_Invoiced_Tbl'对架构无效名称必须采用两部分格式,并且对象不能引用自身。 “

我在做什么错.. ??

1 个答案:

答案 0 :(得分:0)

与模式绑定的视图的主要标准之一是视图中的表必须在相同的模式中(当然,在同一数据库中)。因此,应使用两部分名称(模式名称表名称)进行引用。在您的情况下,您遵循了三部分命名(即 bschema> dbo bales_invoiced_Tbl )。为了使其具有两部分名称,您需要像dbo.bsales_invoiced_Tbl这样提及。看来dbo模式可以访问此处的表。因此,请尝试使用两部分命名创建视图(即删除bschema,然后尝试dbo.bales_invoiced_Tbl等)。