有人可以解释以下之间的语义差异:
select count(*) from dbo.SomeTable;
select count(*) from SomeTable;
select count(*) from ..SomeTable;
select count(*) from somedb..SomeTable;
select count(*) from somedb.dbo.SomeTable;
它们似乎都在我的系统中产生了相同的结果。
更具体地说,我有这个理论somedb..SomeTable
实际上意味着:
SomeTable
我当前连接的用户拥有的对象,就像在数据库中一样somedb
。
这个对吗?
如果是这样,那么鉴于用户名似乎用于将表名称划分为不同的名称空间,难道不能说 Sybase 将用户的概念与模式的概念混为一谈吗?(因为模式是其他 RDBMS 用于命名空间表的东西?)