2014-10-29 58 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

相關問題