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' 对于架构绑定无效。名称必须采用两部分格式,并且对象不能引用自身。”
我究竟做错了什么..??
解决方案
模式绑定视图的主要标准之一是视图中的表必须在同一个模式中(当然,在同一个数据库中)。因此,它们应该由两部分名称(模式名.表名)引用。在您的情况下,您遵循了三部分命名(即bschema> . dbo . bales_invoiced_Tbl)。为了使其名称由两部分组成,您需要提及 dbo.bsales_invoiced_Tbl。似乎 dbo 模式可以访问此处的表。因此,尝试使用 2 部分命名创建视图(即删除 bschema 并尝试 dbo.bales_invoiced_Tbl 等)。
推荐阅读
- c# - 在 C# 的抽象类中重载运算符(如 +、-、*、/)
- reactjs - 如果提交时未选中复选框,我正在尝试显示错误消息
- javascript - JavaScript OOP - 构造函数
- terraform - 如何从另一个模块传递 tfvar?
- python - numpy.gaussian_kde: ValueError: array must not contain infs or NaNs
- lambda - 嵌套 lambda 如何在球拍中工作?
- .net - .Net Core - 如何发布具有 n 层的解决方案
- sql-server - 获得总排名
- reactjs - 一审状态未更新
- java - 带有 MongoDb 驱动程序的 Open Shift 容器中的 Java 内存堆空间问题