在Oracle网站中 generate Grant和Revoke属于DDL,但在很多其他网站上我看到DCL中的Grant和Revoke ...哪一个是正确的?
答案 0 :(得分:1)
最好将GRANT
和REVOKE
视为DDL。
正如mathguy指出的那样,这两个定义都不是真正的“正确”。但我建议你坚持使用Oracle定义有两个原因:
V$SQLCOMMAND
中的每个可能的Oracle SQL命令都适合他们的系统。我发现的唯一例外是PL / SQL(一个匿名的PL / SQL块),无效(一个没有意义的命令)和Nothing(一个空字符串)。有人可能会说这些并不是真正的SQL语句,尽管在某些情况下对它们进行分类仍然很有用。我发现Oracle分类系统对创建一些PL / SQL语言工具很有帮助。DBMS_UTILITY.EXEC_DDL_STATEMENT
时,确切知道Oracle认为是DDL是很重要的。除了真正的DDL之外的任何东西都会无声地失败。