【问题标题】:SSMS 2012 - Refresh IntellisenseSSMS 2012 - 刷新 Intellisense
【发布时间】:2017-09-14 01:52:57
【问题描述】:

我知道通常在单击 Ctrl+Shift+R 时会刷新智能感知。 另外,通过 Edit - Intellisense - Refresh Local cache....

但是,我有一个脚本,当我更新我的数据库对象以使它们保持同步时,我会运行该脚本。脚本的一部分是更新.....

IF EXISTS (SELECT 1 FROM MyTable WHERE MyCol IS NULL)
BEGIN
  UPDATE MyTable 
    SET MyCol = 1
  WHERE MyCol IS NULL;
END
GO

现在,以前 MyCol 被称为其他名称。但现在它被称为 MyCol,我可以在对象资源管理器中看到它。 我在 MyCol 下有红色波浪线,所以我按照上面的方法刷新了智能感知缓存。然而,没有任何变化。 如果我将更新复制到新的查询编辑窗口中,则不会出现红色曲线。

更新运行正常,我可以毫无问题地运行完整的脚本。只是让我烦恼的是为什么这个特定的脚本不会消失。

我已经重启了SSMS,重启了我的机器……

我还能尝试什么?

【问题讨论】:

  • 另外,如果我将 MyCol 更改为之前的名称,则不会出现红色波浪线 - 但显然,由于该列不存在,因此该语句不会运行!

标签: intellisense ssms-2012


【解决方案1】:

好的 - 我现在意识到了。 这是因为我的脚本以原始状态创建表(如果还没有的话),然后相应地更改列等。

似乎智能感知它很聪明,但还不够聪明。

我通过尝试脚本顶部的 Update 语句推断出这一点。 一个用于存储库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 2017-12-27
    • 1970-01-01
    相关资源
    最近更新 更多