关于数据定义语言(DDL)语句的触发器,哪个陈述是正确的?
一个。它们可用于仅跟踪表或索引的更改。
B中。它们可以由数据库中的所有用户定义,也可以由特定用户定义。
℃。只有在对象的所有者发出DDL语句时才会触发它们。
d。它们可用于跟踪对表,表空间,视图或同义词的更改。
哪个是最正确的答案,A肯定是错的,我对B,C,D感到困惑。我做了很多研究,但没有找到任何相关的内容。
答案 0 :(得分:3)
答案A肯定是错误的 - DDL触发器不仅可以应用于表或索引。
答案B不是很清楚:如果已经授予此用户所需的权限,则任何用户都可以创建触发器。它不限于某个用户,例如SYS
答案C当然是错误的 - 发布DDL声明的人并不重要。
答案D似乎是正确的。几乎所有CREATE
,DROP
,ALTER
语句都是DDL语句,这些语句可能会触发DDL触发器。
答案 1 :(得分:1)
如果我们假设"通过"答案B是正确的。是错误的写而不是"为#34;。答案D虽然看起来正确但限制了对象类型的集合。例如,还可以跟踪对功能和过程的更改。