我正在查看SQL Server 2005中的sys.sp_dbcmptlevel的来源。“%% DatabaseEx”在TSQL中做什么?
在源代码中,有这条线我不明白它是如何工作的。
EXEC %%DatabaseEx(Name = @dbname).SetCompatibility(Level = @input_cmptlevel)
它似乎不是DatabaseEx
是一个存储过程。
-- does not return any result
select *
from sys.procedures
where [name] like '%DatabaseEx%'
所以我的问题是
- 什么是
DatabaseEx
和它有什么作用? - 什么是%%之前
DatabaseEx
?
Google可能无法搜索诸如“%%”... arg之类的内容。也许我需要更多的谷歌练习... – Sung 2009-04-29 13:31:17
我仍然无法找到任何文档... – Sung 2009-04-29 18:18:09
谷歌代码搜索允许像%%这样的符号,但它似乎有一个更有限的搜索区域。这似乎完全没有在MSDN上记录。我感觉系统存储过程中使用的TSQL与其他地方的TSQL没有完全一样的解析。 – 2009-04-30 02:08:27