我有以下测验问题,由于有点困惑而无法自己回答。
请回答这个问题并告诉我为什么?
数据库触发器是替代品吗?
A. 存储过程
B. 实现参照完整性的主键
C.实现参照完整性的外键
D. 以上都是
Lei*_*fel 12
我不希望问题的作者是这样的意思,但是文字意味着事情并且问题指定了“数据库触发器”,因此没有正确的答案。
DATABASE 触发器在数据库上创建并在任何数据库用户启动触发事件时触发。(PL/SQL 语言参考 - DATABASE 触发器)
与 Row 和 Statement 触发器不同,Database 触发器为诸如AFTER STARTUP ON DATABASE
、AFTER SERVERERROR ON DATABASE
和 之类的东西触发
AFTER LOGON ON DATABASE
。
Jus*_*ave 11
以上都不是。
在多用户系统中正确执行将异常困难(并且它的效率比正确执行要低得多),但理论上可以使用一组触发器实现伪主键或外键。几乎没有一个尝试过的人会真正正确地实现它,但它是可以做到的。
您可以在存储过程中实现一些可以在触发器中实现的逻辑。但是触发器很难替代存储过程。例如,您不能从应用程序调用触发器或传入参数,因此它几乎不值得被称为存储过程的替代品。并且有很多事情存储过程可以相对容易地完成,但在触发器中却非常困难,或者会将您的系统变成一堆试图解决变异表异常的触发器。
归档时间: |
|
查看次数: |
1769 次 |
最近记录: |