社区
Oracle
帖子详情
大家好,问一个问题,触发器里能不能有ddl
shipatrioc
2004-01-14 07:16:19
我现在碰到一个问题,就是当插入或者删除一个表里的一条记录时,另外一个表里的field要跟着改变,我想用触发器实现,结果出现错误,意思是触发器里不能有commit操作,我想可能是ddl自动commit才引起这问题,各位有没有碰见过这种情况,如果在触发器里不行,有没有更好的办法!我可不想在程序里操作 :)
...全文
82
4
打赏
收藏
大家好,问一个问题,触发器里能不能有ddl
我现在碰到一个问题,就是当插入或者删除一个表里的一条记录时,另外一个表里的field要跟着改变,我想用触发器实现,结果出现错误,意思是触发器里不能有commit操作,我想可能是ddl自动commit才引起这问题,各位有没有碰见过这种情况,如果在触发器里不行,有没有更好的办法!我可不想在程序里操作 :)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chanet
2004-01-15
打赏
举报
回复
楼上说的好 :)
触发器整体就是一个事务来的,由 Oracle 控制.
但设置了 PRAGMA AUTONOMOUS_TRANSACTION 之后,触发器的事务就是由自己控制,可以自由 rollback/commit/alter table... 等等之类的操作
leecooper0918
2004-01-14
打赏
举报
回复
触发器本身就带有事务,执行失败自动回滚
如果要在触发器中执行DDL操作,可以启用自治的事务.
CREATE TRIGGER bonus_trig
AFTER UPDATE ON bonus
DECLARE
-- enables trigger to perform DDL
PRAGMA AUTONOMOUS_TRANSACTION; BEGIN
EXECUTE IMMEDIATE ’DROP TABLE temp_bonus’;
END;
shipatrioc
2004-01-14
打赏
举报
回复
我知道,当修改一个表结构时,可以触发一个事件,去做其它的操作,就是DDL触发器!
但我现在的问题是,我在DML触发器里,要做DDL操作
solidpanther
2004-01-14
打赏
举报
回复
能,触发器里不用写commit
一个
DDL
触发器
例子(阻止
DDL
并记警告日志)
有时我们需要控制用户对表执行
DDL
操作,包括truncate等操作。为了达到灵活控制的目的,我们使用了
DDL
trigger
oracle安全审计之登录登出、
ddl
操作记录
触发器
通过使用这些
触发器
,数据库管理员可以创建
一个
全面的审计日志,以满足法规遵从性和内部审计需求。同时,由于这些
触发器
是在操作后触发的,它们不会对正常的业务操作造成性能影响。 在实际应用中,应根据具体的审计...
浅析SQL Server2005中的
DDL
触发器
技术.pdf
此时,可以创建
一个
DDL
触发器
,在检测到尝试删除这类表的操作时,
触发器
能够记录操作细节,或者阻止这一删除行为的发生。 随着数据库管理系统的发展,其功能不断增强,性能不断完善。现代信息技术发展的趋势是将...
oracle_
触发器
的种类和触发事件
Oracle
触发器
是一种特殊的存储过程,它可以在数据库中自动执行一些操作,主要用于实现数据的完整性、数据的安全性和业务逻辑的实现。
触发器
可以分为四种类型:DML
触发器
、
DDL
触发器
、替代
触发器
和数据库事件
触发器
。...
MSSQL2008R2
触发器
问
题
代码
如果`update_empno.sql`文件中包含了
一个
UPDATE
触发器
,那么可能的结构可能是这样的: ```sql CREATE TRIGGER trg_UpdateEmpno ON Employee AFTER UPDATE AS BEGIN IF UPDATE(empno) BEGIN -- 检查或处理empno...
Oracle
17,140
社区成员
55,259
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章