使用"USE"关键字Vs. T-SQL中的完整表名

cho*_*ppy 6 t-sql sql-server

当我想从数据库XI中的表Y中选择时可以使用

select * from [X].[dbo].[Y]
Run Code Online (Sandbox Code Playgroud)

要么

USE X
select * from [Y]
Run Code Online (Sandbox Code Playgroud)

有什么理由比较喜欢一个吗?

Nag*_*j S 3

dbo
使用 dbo 作为所有数据库对象的所有者可以简化对象的管理。数据库中将始终有一个 dbo 用户。只要用户具有适当的权限,数据库中的用户将能够访问 dbo 拥有的任何对象,而无需指定所有者。

USE X
当 SQL Server 登录名连接到 SQL Server 时,该登录名会自动连接到其默认数据库并获取数据库用户的安全上下文。如果尚未为 SQL Server 登录创建数据库用户,则该登录将作为来宾连接。如果数据库用户没有数据库的 CONNECT 权限,则 USE 语句将失败。如果没有为登录分配默认数据库,则其默认数据库将设置为 master。

了解 SQL Server 中所有者和架构之间的区别

使用 (Transact-SQL)