【发布时间】:2017-04-07 02:18:39
【问题描述】:
在SQL SERVER中使用Scope Resolution Operator (::)有什么意义。众所周知,当我们使用GRANT 命令时,作用域解析运算符将成为语法的一部分。
GRANT ALTER ON Schema :: DBO TO user_name
它有什么特定的含义吗,或者就是这样使用的。
【问题讨论】:
-
获得技术性:这不是“范围解析运算符”。 (exists,但有些不同。)有些语言有这样一个通用的标识符运算符,但在 T-SQL 中,
class::结构的使用很简单——指定你正在操作的对象的类在。它仅出现在GRANT、DENY和ALTER AUTHORIZATION语句中,并不普遍适用。至于为什么需要,那是另外一回事。不同类型的对象何时可以共享名称以及何时不能共享名称的规则有点复杂。
标签: sql sql-server sql-server-2012 grant scope-resolution