【发布时间】:2014-06-21 06:24:19
【问题描述】:
我正在 SSMS 中构建一个表值函数,我希望 IntelliSense 可以帮助我选择列,但它没有。考虑一下:
CREATE FUNCTION dbo.My_TVF
(
)
RETURNS TABLE
AS
RETURN
(
SELECT [PO].I -- Here I is my cursor, ctrl+space does nothing
FROM dbo.SomePurchaseOrderView PO
JOIN dbo.SomePurchaseOrderLineView POL ON PO.PO_NUM = POL.PO_NUM
WHERE PO.PO_NUM IN (
SELECT TOP 500 PO_NUM
FROM dbo.SomeTable
WHERE PROCESSED = 0
)
)
GO
我希望它为 select 子句建议列名。
注意事项:
- 缓存是新的(CTRL + SHIFT + R)
- IntelliSense 通常工作正常,这是我遇到的唯一不能正常工作的情况。
- 如果重要的话,我查询的是视图而不是表。
我知道当您编写的内容出现某种语法错误时,它通常会失败,但是当我指定一个列时,我可以很好地执行我的查询。
【问题讨论】:
-
@vote-to-close-er:“除非它们直接涉及主要用于编程的工具”。请。
-
你这样做了吗?
Use DB go? -
自从您的 SSMS 会话连接到此服务器后,您是否刚刚创建了新功能?如果是这样,请注意 SSMS Intellisense 不会选择自您第一次连接到服务器实例以来创建或更改的任何内容。解决此问题的最简单方法是重新启动 SSMS。
-
@861051069712110711711710997114(好东西 this intellisense 有效):不,我没有,我不知道它会有什么不同。所涉及的一切都在同一个数据库中
-
@RBarryYoung 我重启了SSMS,去修改功能,还是不行。无论如何,刷新 IntelliSense 缓存不会做同样的事情吗?
标签: sql sql-server-2008 intellisense ssms