gpt4 book ai didi

sql-server - SQL Server 中的某些表需要 [user].[table] 而其他表则不需要,这是为什么,我可以强制执行吗?

转载 作者:行者123 更新时间:2023-12-01 06:17:24 24 4
gpt4 key购买 nike

正如标题所暗示的那样,如果您执行类似的操作,我很困惑为什么我的数据库中的某些表会崩溃;

SELECT * FROM [user].[table]

但在另一张 table 上它工作正常。

我正在测试一些代码,如果您不使用 [user].[table],这些代码最终会出现在服务器上,所以我真的很想在我的机器上强制执行此操作。

谁能解释为什么会发生这种情况,并告诉我如何解决它。

更多信息

这是我尝试使用 [user].[table] 而不是 [table] 运行查询时收到的消息;

[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'usr.tbl'

最佳答案

“用户”位是表所属的模式

因此您可以在同一数据库中拥有 dbo.tableuser.table

默认情况下,SELECT * FROM table 通常会查找 dbo.table。但是,如果登录名/用户有不同的默认架构,那么它将查找 thatschema.table

修复它:

  • 您可以使用 ALTER SCHEMA .. TRANSFER..修复当前设置
  • 持续进行,确保每个表引用在 CREATE、ALTER、SELECT 等方面都有正确的架构

另见 "User-Schema Separation" on MSDN

关于sql-server - SQL Server 中的某些表需要 [user].[table] 而其他表则不需要,这是为什么,我可以强制执行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3889165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com