昨天,在 SQL Server Management Studio (SSMS) (v17.6) 中,我可以编写并执行:
select * from MyTable;
今天,我必须写:
Select * from myDbName.dbo.MyTable;
但是,旧语法将识别该表在那里并拉回标题,但没有内容。此外,还有旧语法的智能感知。
但是,在我的 VB 代码中,我仍然可以使用上面显示的初始语句。
为什么?还有,我该如何改回来?最佳答案
您可能已连接到实例上的另一个数据库。当登录的默认数据库未明确设置时,通常会发生这种情况。它默认主数据库。您需要在下拉列表中进行更改,以便智能感知能够获取您的表名称,并且您不必完全限定 server.database.schema.table
。
此外,在查询窗口的右下角,确保您执行查询的查询窗口实际上连接到正确的数据库。由于您没有返回结果,我敢打赌,当您运行查询时,您也没有连接到正确的数据库,而是连接到较旧的或正在开发的数据库(其中数据不同)。
关于SQL Server Management Studio 需要完整的表路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50083140/