EXEC声明中有两个百分点

时间:2017-10-12 13:35:20

标签: sql sql-server

在SQL Server 2014中,master数据库包含一个名为sp_rename的系统存储过程。我很想知道它是如何工作的,所以我一直在看它。

在第190行,有一个包含两个百分号的EXEC语句:

EXEC %%ScalarType(MultiName = @SchemaAndTypeName).LockMatchID(ID = 
@xusertype, Exclusive = 1)

%%是什么意思?我在网上搜索过,但没有找到任何甚至远程提到它的东西。

1 个答案:

答案 0 :(得分:1)

基于this answer,它是SQL Server的未记录组件。基本上,这些是一般用户不应参考的系统命令。由于您正在查看存储过程的组件,因此您将看到普通用户通常无法访问的脚本。

由于%%是(有意地)未记录的文档,因此很难准确确定系统的使用方式,但是可以合理地认为它是仅系统命令的指示。