我重命名了一个表,因为在evry'select'中我得到了所有列的'无效对象名'。为什么所有列在表重命名后都无效?
我从我的选择得到我需要的输出,但为什么我也得到一个错误呢?
这是我简单的SELECT ...
SELECT [Importance]
,[Color]
,[NotificationName]
FROM [dbo].[Alerts]
我重命名了一个表,因为在evry'select'中我得到了所有列的'无效对象名'。为什么所有列在表重命名后都无效?
我从我的选择得到我需要的输出,但为什么我也得到一个错误呢?
这是我简单的SELECT ...
SELECT [Importance]
,[Color]
,[NotificationName]
FROM [dbo].[Alerts]
它看起来像你使用SQL Server Management Studio中。我怀疑你的查询会在你尝试的时候运行,只是intellisense不知道表名已经改变了。
尝试Ctrl键 + 移 + - [R刷新缓存或可替代地Edit -> Intellisense -> Refresh Local Cache
。
每次执行模式更改时都需要执行此操作。下面的查询
你的意思是在我的浏览器中刷新现金? – user2560521
SSMS中没有。执行'SELECT * FROM dbo.Alerts',如果它工作,尽管红色下划线,那么问题肯定是你需要刷新智能感知。 – OGHaza
运行,以确认你的表已被重命名,并在你的选择查询指定的确切列名:
select * from sys.all_columns where object_id = OBJECT_ID('Alerts')
另外,您可以执行以下查询,以确认Alerts table
存在
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'Alerts'))
BEGIN
PRINT 'Alerts exists'
END
还要确保你在正确的数据库中,运行下面的查询来找出Alerts所属的数据库:
SELECT TABLE_CATALOG
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'Alerts'
一旦获得数据库名称,请在查询开始处添加USE DATABASENAME
,或者您可以使用DATABASENAME.dbo.Alerts
。
我做了表格存在 – user2560521
您是否在正确的数据库中,请在查询开始时尝试添加'USE DATABASENAME'。检查第二个查询的输出以查找数据库。 –
请问您可以发表您的查询吗? –
另外 - 您使用的是什么RDBMS? – Mureinik
原始表格名称是什么以及你重命名了什么? –