说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

谁能拿出一个好的策略(关于ORACLE中的TRIGGER问题)

编辑:说三道四文库 发布时间:2017-01-24 01:13
HTML文档下载 WORD文档下载 PDF文档下载
我有表table_a(row_id,plan_flg,status_flg,par_row_id)自关联
             ~~~~                   ~~~~~~
                ∧                          ‖
                ‖__________________________‖

其中:row_id(PK)  varchar2(16)
      plan_flg   char(1)/'p':primary,'a':act(调整)
      status_flg  char(1)/'0','1'     
      par_row_id(原row_id)  varchar2(16)

示例数据:
row_id,plan_flg,status_flg,par_row_id 
   1 ,  p     ,   0      ,  null
   2 ,  p     ,   0      ,  null
   3 ,   a     ,   0      ,   1
   4 ,   a     ,   0      ,   1
   
 ~~~~~~~~~~~~~~~~   
             ‖
           ∨

   1 ,  p     ,   1      ,  null
   2 ,  p     ,   0      ,  null
   3 ,   a     ,   1      ,   1
   4 ,   a     ,   1      ,   1
 


要求:
  1、当plan_plg为'p'的记录的status_flg 从'0'变成'1'时 ,将表中
所有par_row_id为当前记录row_id 的记录的status_flg更新为'1'
  2、尽量不使用临时表和JOB


create trigger atrigger 
    after update of status_flg 
    on table_a 
    for each row 
    when (status_flg='1')
  update table_a set status_flg=1 where par_row_id=:new.row_id
when 字句应该是
    when (new.status_flg='1')
可是ORACLE中,在触发器内是禁止对变化表进行UPDATE的,
大虾,救命啊...
你说的不错.
实现比较麻烦,先建一个Package,定义一些全局变量,
然后在表上建立一个语句级触发器,和一个行级触发器。
因为ORACLE中对行级触发器的限制不允许修改变化表,但是对语句级触发器没有限制。
所以在行级触发器中将需要修改的东西存储在Package的变量中,在语句级触发器中读取,
然后修改变化表。
thanks,试试先
噢,在ORACLE中,这种情况是被严格禁止的,还是省省力气用JOB吧
昨天我想了一下,可能要对你的表结构进行小的修改,语句如下:
alter table yourtable add column flag number(1) default 0;
当你将status_flg从0改为1时同时也将flag的值修为1.即
update yourtable set status_flg=1,flag=1
更新时使用
update yourtable set status_flg=1 where flag=1;和
update yourtable set flag=0;
采用helios(太阳神) 的建议:
   在语句级触发器中,update table_a set other_field ='$#' where ...,是可以的;
                                      ~~~~~~~~~~~~~~~~~~ 
但是,update table_a set status_flg ='1' where ...就不行了。
                        ~~~~~~~~~~~~~~~~
因为我的行级触发器when (old.status_flg ='2' and new.status_flg ='3'),大家再帮我
想想办法吧,再20分
when (old.status_flg ='0' and new.status_flg ='1')
我也是常碰到变化表的问题,解决方法是写个procedure,然后在做完每个Insert命令后,再条用
这个procedure,别的实在没什么好方法。
谢谢诸位
iPhone 5S真机照片泄露 明年初上市 Beeline:从“蓝精灵村庄”到“捉鬼敢死队” Windows Server 2012域服务的六大改进 如何编写出优美的JavaScript代码? Unity CEO:不会因赌博游戏谋取金钱利益 云领域:且看亚马逊、Rackspace、微软及谷歌四国争霸 十一位EMC高管读2013技术趋势 你准备好了吗? Yahoo:拥抱Hadoop和HTML5 苹果聘女黑客为系统安全员 曾让Vista推迟发布 移动游戏定价之谜:0.99美金行不通 9.99美金和19.99美金才是王道 2012末日年:《时代》评选年度十大App 使用HTML5 Web存储实现离线工作 紧跟亚马逊、谷歌步伐 微软下调Azure云服务价格 云计算一周热点回顾:Hadoop专家分享大数据技术工具与最佳实践 Python之父Guido Van Rossum离开谷歌 一月加盟Dropbox 图灵奖获得者Butler Lanpson:计算机在做些什么 华为高级技术经理Anoop Sam John:HBase的二级索引 秦令今:技术是竞争的核心,形成自己的特色! 兰旭:拒绝同质化,做自己的真材实料! Cloud Foundry直面PaaS对手 初具商用能力 IndieBros访谈:探寻《2+18+200万》背后的故事 移动周报:生存还是毁灭 HTML5未来路在何方? 开发者的新机遇:微软生态系统打开开源大门 阻碍创新:谷歌、Facebook请求驳回抽象专利概念 Apple专利战分析:战火不停 创新不止 史上最牛独立开发者:花20美元狂赚100万美元 Twitter VS. Instagram:照片分享大战爆发 第二届“龙芯杯”中国开源软件设计大赛圆满落幕 TUP Masters第六期实录:Jeffrey Richter讲解Win8应用开发与.NET4.5 [简讯]Bootstrap 2.2.2发布 官博宣布新特性 我们正处于API的黄金时代吗? 我是天津人有没有同乡? ------------------------smiled 快来 我要饿死了----------------------- 我想用DCOM实现访问数据库,请大家指点,请进 竹子, 还给我一点分吧? TO:Vincent_Jiang(无生无灭) 两机相连的问题??? 提问题给的最高分于其余的分有何关系?请问斑竹 什么叫数据库的别名,应该怎样设置数据库的别名? 怎样与telnet应用服务程序通信 怎样在TStringGrid的整个框内绘图,而不是在某个单元中绘图? WEB安全认证问题 TO: neweb(永不言败) 请问各位大虾,哪里有jdk1.3 for linux SPARC 版本 求救!硬盘坏了! 晨昏三灌水,早晚一个屁 怎么在EXCEL中用VBA控制图表的位置? Delphi确实很好,学了好几年了,但在上海差点没有找到工作,很少有招学Delphi的 关于 VC 6.0 有没有什么补丁,升级文件之类的东西? 高分争解 怎么利用Jsp发邮件? 有谁知道光驱加锁的问题 parodox数据库问题 各位平时用 VC 作东西,都用那些辅助工具?  高分争解 【 http://www.esoftware.com.cn/search.php?condition=%BA%AB%C1%F7%C0%B4%CF%AE&page=1&mode=3 】 JBuilder的使用问题 在VFP中,编程执行SQL语句时,怎样使系统的查询结果不出现? 一个程序流程的问题 为什么当我的SpeedButton的enabled为false时,上面的图标就没有了? 囡囡(baicolt)请进,问你一点事情 简单问题,请赐教 高分相赠!!!:操作系统和SQL SEVER2000都是英文版,用VB连接如何可以正确的输入和显示中文? 则么在程序中得到sql的存储过程的返回值? 请问 VB 6.0 有没有最新的升级文件之类的东西?高分争解 谢谢 谁有用java做的复杂一点的图行界面的例子 网管来看看,为什么不能给分了!右边的文本框又不见了! 各位用 VB 编程都用那些辅助工具? 高分争解 关于ShellExecute 装了redhat7,在/etc里没有inetd.conf文件,谁见过这咋整 菜鸟请教大侠!很急!谢谢!!只有10分对不起! 请问一个关于CLASSWIZARD 的问题 这里有PB反编译程序,你信吗? 怎样解 关于大数据量的问题,经验丰富者里面谈! 我想在程序里控制程序外的浏览器窗口资源管理器窗口,怎么做呢?急呀!!!!!! 请问:我用JavaMail收下的邮件主题,发信人姓名不能正常显示。。。。。 认识我的人都进来跟我聊聊吧,我最近新换了工作,还没有适应,你们各位是怎么换工作? 请问如何在Delphi中表示二进制,或者十六进制数呢? 各位35以后干什么?我们能干什么? ????? 如何将eltree中的数据和某数据表关联 有没有比RECORDCOUNT快的方法实现同样的功能? 鉴于目前有些东西说话不知轻重,把这个旧闻再贴一遍,不要以为真的在网上 “没人知道你是一只狗” Java 工具 为什么Na2O和Na2O2的阴阳离子个数比相同? 亚硫酸钠试剂部分被氧化成硫酸钠后如何确定纯度? 下表记录了一次实验中时间与温度的数据时间/min 0 5 10 15 20 25 温度/ 10 25 40 55 70 85 1.如果温度的变化是均匀的,21min时的温度是多少?2.什么时间的温度是34摄氏度? Na2O2晶体中的阴阳离子比 Na2O2+NaOH离子方程式 为探究PH值对唾液淀粉酶活性的影响,某同学设计的实验步骤如下表 (两题不会做求帮忙) 向Na2O2与水完全反应后的溶液中加MnO2,产生O2,是由于该溶液中含H2O2为什么? NA2O2和NA2O2投入水中都能生成NAOH,都是氧化还原反应,它们都是碱性氧化物 下表是某小组探究“过氧化氢酶的活性是否受pH影响”的实验,请依据设计的实验操作步骤,回答下列问题:(1)本实验的因变量是____,可观测的指标是____. (2)上述操作步骤中存在明显的缺陷,请写 Na2O2与H2O反应为什么生成H2O2正常不是生成NaOH和O2嘛.为什么会生成H2O2、? na2o2与什么反应生成naoh麻烦写一下方程式……谢谢 为验证pH对唾液淀粉酶活性的影响,某学生设计了下表中的实验方法步骤.在同学们提出的下列评价中,不合理的是项目 试管1 试管21 加入可溶性淀粉溶液 2mL 2mL2 加入新鲜唾液淀粉酶溶液 1mL 1mL3 设计实验证明O2来自H2O2在H2O2+MnO2====O2↑△这个反应中请用实验证明得到的O2来自于H2O2而不是MnO2(注意,是用实验证明)我知道MnO2是催化剂 但必须用好的实验啊 NaO或Na2O2能反应生成NaOH吗 在测定唾液淀粉酶活性时,将溶液PH由2上升到6过程中,该酶活性将? 能用FeSO4溶液来检验Na2O2与足量水反应后的溶液中存在的H2O2么 Na2O2能通过一步反应得到NaOH吗 某同学为了探究pH对人唾液淀粉酶活性的影响,设计如下实验步骤:①在A、B、C、D、E5支试管中分别加入pH5.0、6.0、7.0、8.0、9.0的适宜浓度缓冲液5mL,再分别加入质量分数为1%的淀粉液1mL.②各试 可用CO2来确定某NA2O粉末是否含有NA2O2,为什么错?不是产生O2吗? 现有一份naoh固体样品,里面混有少量的na2co3,nacl杂志,某同学用中和滴定的方法来测定naoh的纯度.操作1称取ag样品放入锥形瓶中,加水,震荡,使固体充分溶解.2向该溶液中加入足量的bacl2溶液,使co3 以下各项措施中,可以消除分析测试中的系统误差的是().A、进行仪器校正 B、增加测定次数 C、增加称样量 D、提高分析人员水平 根据Na2O与O2加热后生成Na2O2可知Na2O与Na2O2哪个更加稳定把前因后果也具体说明一下吧 用蒸馏水酚酞BaCl2溶液和已知浓度盐酸标准溶液作试剂,为什么可测定NaOH固体(杂质仅为Na2CO3)的纯度? 直流电桥(惠斯通电桥)测电阻的实验误差主要来源是什么?我们在实验中采取了什么措施来减小这种误差?还可以采用哪些方法来减小这种误差? 证明Na在空气中燃烧生成淡黄色粉末为Na2O2而不是Na2O 如何检验碳酸钠中含有氢氧化钠 在真正做实验时逐差法能减少误差吗?比如一条纸带有O、A、B、C、D、E、F七个计数点.相邻两点的距离记为S1、S2、S3、S4、S5、S6.根据逐差法的公式,有:a=[(s4+s5+s6)-(s1+s2+s3)]/9T^2问题来了.在实验 为什么说NA2O在空气加热形成NA2O2比NA2O稳定 Na2CO3和NaOH 能不能反应 牛顿环实验采取什么方法消除误差 Na2O与Na2O2哪个是粉末哪个是晶体 在某温度下,将7.8克Na2O2投入100克10%的烧碱溶液中,充分反应后,求所得溶液的溶质的质量分数以及生成气体的体积. 为了减小测量遏止电压的误差,在实验过程中应采取哪些措施 装置I中发生反应的化学方程式为?(金属钠和空气制备纯度较高的Na2O2实验) 在一定温度下向饱和烧碱溶液中放入一定量的Na2O2过氧化钠,充分反应后恢复至原来温度,下列说法正确的是(A、溶液中OH-总数不变,有O2放出B、溶液中NA+浓度增大,有O2放出C、溶液中NA+总数减少 酒精检测 实验方案设计!设计方案 和 氧化反应啥的忘记说了 还要配图 T T 现用金属钠和空气制备纯度较高的Na2O2,可利用的装置如下.回答下列问题(注:Na2O2可以与H2O、CO2能反应)(1)装置Ⅳ中盛放的药品是______________,其作用是__________________________.(2)若规定气体的气流 7、由氢氧化钠(NaOH)和过氧化钠(Na2O2)组成混合物,并检测出氢元素的质量分数为1%,那么混合物中钠元素的质量分数为( )A.46% B.57.5% C.58.4% D.无法计算 实验方案设计的疑问下列实验方案设计正确的是A、分解高锰酸钾制氧气后,残留在试管内壁上的黑色物质可用稀盐酸洗涤B、失去标签的硝酸银溶液、稀盐酸、氢氧化钠溶液、氯化铝溶液可选 一块金属钠放置在空气当中,发生一系列氧化,最终生成什么? 在饱和NaOH溶液中加入一定量Na2O2,充分反应后恢复到原温度,下列说法正确的是?A有晶体析出,原溶液质量不变B有晶体析出,原溶剂质量不变C溶液仍然为饱和溶液,浓度增大D溶液仍然为饱和溶液, 探究生物学问题时,在确定了课题后进行实验方案设计的主要依据是……发现的现象\观察结果/假设/得出的结论 金属钠长期置放在空气中会生成什么? 对比实验对比实验需要注意两个问题一是---两是---对比实验需要注意两个问题 生物遗传实验设计方案 在空气中加热金属钠 实验现象 结论 完整的 家庭实验有哪些可以做啊 实验如下:目的:探究不同烟草浸出液对金鱼的毒害.实验要分三组:分别为红塔山牌、石狮牌和普通烟草的一定浓度的浸出液对金鱼的毒害作用.希望帮忙设计一个实验报告.包括实验过程说 长期存放的亚硫酸钠可能会被部分氧化,现通过实验来测定某无水亚硫酸钠试剂的纯度.实验步骤如下:(1)称量a克样品,置于烧杯中.(2)加入适量蒸馏水,使样品溶解.(3)加入稀盐酸,使溶 小学科学实验在空瓶子口上套一个小气球,先把他放在热水里,再把他放在冷水里 谁有高中生物全部实验的总结,急需! 实验室有一瓶亚硫酸钠试剂,已经被氧化成硫酸钠.某学生设计如下实验来确定其纯度.BaCL2溶液过量的目的是 科学实验设计方案证明.的事业1实验目标:.2.实验器材.3.4.实验现象.5.试验推理.6试验结论. 化学某课外活动小组从实验室取出硫酸试剂,试剂瓶上标签的部分内容如下图所示.该小组欲用此硫酸试剂配制450ml0.2mol/L的稀H2SO4溶液 化学纯(cp)(500ml) 品名:硫酸 h2so4 相对分子质量:98 密度: Na2O2和Na2O2的阴阳离子个数比相同吗? 实验室有一瓶亚硫酸钠试剂,已经被氧化成硫酸钠.某学生设计如下实验来确定其纯度.已知往溶液里加盐酸发生如下反应2HCL+Na2SO3=2NaCL+SO2↑H2O(1)有以下实验操作步骤,其正确的操作顺序是-----A 某学生实验过程中获得以下数据,不合理的是A.用10ml的量筒量取了8.5ml浓硫酸B.用托盘天平称得某大理石样品质量为23.5gC.用pH试纸测定某工厂排放的污水pH=5.20D.测的某粗盐中氯化钠的质量分数 Na2O2阴阳离子数之比?是不是1: 验证亚硫酸钠是否变质的试剂根据反映现象判断,未变质,部分变质,全部变质. 你认为下列实验测得的数据不合理的是( ).A用pH试纸测得某河水的pH值为6.24.B用托盘天平称得氧化铜粉末的质量为11.5g.C用10ml量筒取8.5ml的溶液.D测得某粗盐中氯化钠的质量分数为90.5%.请告诉
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn