当给某表INERT预定记录时通过触发器同时再向该表追加几条记录? 举例:当给T1表某雅间INSERT订餐费时同时通过触发器给该表追加两条或多条费用:餐具费、空调费等等。说明:T1表为费用清单明细表 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 insert触发,完了还insert 我勒个去, 你是想死循环吗给你个建议:1、改前台应用,把这两条记录弄到前台做2、新建一个表T2,当insert T1 表的时候,把你想要的记录插入到 T2里头 然后统一在一个没有业务的时间点,禁用了T1的触发器,然后把T2表里的数据刷进T1 可能是我的举例不准确,需要解决的问题是,当给T1表INSERT记录时同时通过触发器给该表追加两条或多条记录,我期望的效果是能否在行前触发器时将一条当前记录分裂成多条记录。 oracle的触发器是做不到对原表加记录的,mssql才可以这样的需求你可以在程序中实现,为何非要在触发器中做呢,不懂,呵呵 这样只能:1、把你的基表T1改名为 T22、建一个视图 T1 as select * from T23、在视图T1上建一个 instead of 触发器,达到你想要的效果之所以做第一步和第二步,为了把对表T1的操作转换为 对视图T1的做错,但实际上基表没区别,只不过改名了而且这样不用改前台程序存在的缺陷有待观察,暂未想到 instead of 触发器顾名思义,就是替代触发器整个触发器是建在 视图T1上的instead of trigger 生效当数据库捕捉到 对视图 T1 的insert操作的时候,替代触发器起作用然后根据你的规则 把数据“分裂” 转换成3个sql语句(目前看是3条,当然可以更多)直接 insert 到T2 中请注意 instead of trigger 建在 T1上(T1 是视图)trgger 内部 把一条对T1的insert 操作转换成 3条对T2 的insert 操作转换之后 系统只执行 对T2 的三条insert操纵,原来前程序发出的对T1 的insert操作 被“替代” 跪求oracle11g帮助手册,最好是中文的,是在没有的话英文的也来 oracle 9i exp imp的数据转移问题 group by 与 over partition by 性能比较 关于case的一个问题,麻烦各位高手解决一下!!!感激不尽 tnsping的问题! 利用resultset分页 这个insert into ... order by 怎么会错呢? 求一查询语句,困扰了许久 执行execute immediate为何错误是缺少右括号? 新建用户后连接, 提示"没有 CREATE SESSION 权限;登录被拒绝",怎办? 求助:从空格开始去掉后面的所有内容 啥意思 PLSQL
给你个建议:
1、改前台应用,把这两条记录弄到前台做
2、新建一个表T2,当insert T1 表的时候,把你想要的记录插入到 T2里头
然后统一在一个没有业务的时间点,禁用了T1的触发器,然后把T2表里的数据刷进T1
1、把你的基表T1改名为 T2
2、建一个视图 T1 as select * from T2
3、在视图T1上建一个 instead of 触发器,达到你想要的效果之所以做第一步和第二步,为了把对表T1的操作转换为 对视图T1的做错,但实际上基表没区别,只不过改名了
而且这样不用改前台程序
存在的缺陷有待观察,暂未想到
整个触发器是建在 视图T1上的instead of trigger 生效当数据库捕捉到 对视图 T1 的insert操作的时候,替代触发器起作用然后根据你的规则 把数据“分裂” 转换成3个sql语句(目前看是3条,当然可以更多)
直接 insert 到T2 中请注意 instead of trigger 建在 T1上(T1 是视图)
trgger 内部 把一条对T1的insert 操作转换成 3条对T2 的insert 操作
转换之后 系统只执行 对T2 的三条insert操纵,原来前程序发出的对T1 的insert操作 被“替代”