请考虑以下事项:
select * into #tmp_table from dbs.main_table
当我现在编写查询时,Intellisense会返回main_table
中现在位于#tmp_table
的所有列名。因此,这样的查询在SSMS中看起来很好:
select
a.field1,
a.field2
from
#tmp_table
;
但是,当我在脚本中的#tmp_table
中创建新列时:
alter table #tmp_table add field3 varchar(100):
update #tmp_table set field3 = 'Yes'
此处,更新语句中的field3
将带有红色下划线,SSMS会告诉我Invalid column name 'field3'
。但是,查询有效:
select * from #tmp_table;
这将返回原始表,包括名为field3
的列和值。
刷新Inellisense(CTRL-SHIFT-R
),不起作用,也不打开和关闭SSMS。
如何让SSMS明白field3
不需要加红色下划线(因为select * from #tmp_table
可以按预期返回所有内容)?
答案 0 :(得分:0)
我使用了一个相当不错的intellisense和代码格式化程序,称为SQL Complete。 你可以试一试。 http://www.devart.com/dbforge/sql/sqlcomplete/
很抱歉这是一个答案。我需要50点声誉才能发表评论......