关于WITH SCHEMABINDING的问题 视图里定义绑定需要2段式名称,但感觉1段名称也足以实现绑定目的了啊,为什么语法里要多此一举的强迫使用2段名称呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是吧,你看看啊......相比select查询,select里可以不指定架构名让DBMS自己锁定对象(虽然不是啥好方式),至于锁定的是否符合需求不论,确实是可以不指定2段名进行查找,而且也确实把不同架构下的同名对象区分开了,那为什么WITH SCHEMABIDING不用同样的方式呢,就是即支持1段名,也支持2段名的方式,却强迫2段呢...... select * from tb SQL SERVER首先会在sys架构下找这个表找不到就到用户的默认架构下找表找不到再到dbo这个架构下找表也就是说系统会自动查找你的表 在你未说明架构的情况下以上寻找顺序是个人模糊记忆下的 也许会错 这个没解决我要问的本质啊......我知道SQL SERVER可以自己寻表的,我想问的就是为什么加了WITH SCHEMABIDING以后却不应用自动寻表,反而要求明确指定表,这种做法是出于什么目的...... 唉到最后也没能真正解决问题,不知道是我的认识太浅还是我的表述不清,再等2天,没有更好答案的话就把分平分这里重新表述一下问题:select里可以只用1段名的方式让DBMS自己锁定对象,至于锁定的是否符合需求不论,确实是可以不指定2段名进行查找,而且也确实把不同架构下的同名对象区分开了,那为什么WITH SCHEMABIDING不用同样的方式呢,就是既支持1段名,也支持2段名的方式,却强迫2段呢......PS:这个表述的意思并不是我想知道DBMS锁定1段名对象的锁定过程(比如9楼的回答),而是我想知道WITH SCHEMABIDING只支持2段名,却不是类似select中既支持1段名,也支持2段名,这么做的目的...... 查询问题:如果A表中有该记录则查A表,如无该记录则查B表. 如何实现逻辑关系OR AND(仅有的17分全部给出) 问题急(在线等) 求一关于group的sql 欢迎进来讨论:怎样才能方便的得到存储过程结果集的表结构。 查询具体时间字段(包括日期和时间)的SQL Server语句如何写? 再来一题(计算最大值) MSSQL如何定时还原数据库备份? 多个视图联结问题 请问,如何使用sql语句修改sql server的表名 一条SQL语句中的疑问 INSERT语句插入数据时,如何取其他表的数据
SQL SERVER首先会在sys架构下找这个表
找不到就到用户的默认架构下找表
找不到再到dbo这个架构下找表也就是说系统会自动查找你的表 在你未说明架构的情况下以上寻找顺序是个人模糊记忆下的 也许会错
这里重新表述一下问题:
select里可以只用1段名的方式让DBMS自己锁定对象,至于锁定的是否符合需求不论,确实是可以不指定2段名进行查找,而且也确实把不同架构下的同名对象区分开了,那为什么WITH SCHEMABIDING不用同样的方式呢,就是既支持1段名,也支持2段名的方式,却强迫2段呢......
PS:这个表述的意思并不是我想知道DBMS锁定1段名对象的锁定过程(比如9楼的回答),而是我想知道WITH SCHEMABIDING只支持2段名,却不是类似select中既支持1段名,也支持2段名,这么做的目的......