2014-10-29 51 views
2

SSDT错误消息SQL71561中的“::”语法的含义是什么?例如:“::”在SQL上下文中的含义是什么?

SQL71561:检视:[DBO] [V_RPT_MART_SIGNALS]包含未解决的引用的object.Either的对象不存在或基准是不明确的,因为它可能是指任何以下对象:
[SSISDB]。[目录]。[EXECUTIONS] [EXECUTION_ID]或
[SSISDB]。[目录]。[EXECUTIONS] [TM] :: [EXECUTION_ID]

这似乎是这样在SQL上下文中看到一个奇怪的语法,我不敢相信我无法在任何地方找到它。 (我发现,做一个网上搜索“::”不工作也很好!)

+0

的可能重复的[双冒号(::)在SQL符号](http://stackoverflow.com/questions/5758499/double-colon-notation-in-sql) – 2014-10-29 22:17:33

+0

@Adelphia该问题在于Postgres。这里的OP使用SQL Server。 – 2014-10-29 23:47:33

回答

3

在特定的情况下,有

[SSISDB].[CATALOG].[EXECUTIONS].[TM]::[EXECUTION_ID] 

语法将database.schema.table_or_view.column :: static_method_on_clr_type

双冒号也用于in legacy syntax for some functions

SELECT * FROM ::fn_trace_getinfo(default) 

而且在文法GRANTREVOKEDENY。 (Example

GRANT INSERT ON SCHEMA :: HumanResources TO guest; 
+0

那么,它不是我的答案中的范围解析运算符? – Rahul 2014-10-29 23:21:40

+0

@Rahul编号列名称后唯一有效的解释和用法是调用CLR类型的静态方法。 – 2014-10-29 23:23:34

+1

Hmm +1。很高兴知道。删除我的答案。 – Rahul 2014-10-29 23:24:47