oracle for each row加与不加有什么区别?

作者&投稿:长味 (若有异议请与网页底部的电邮联系)
for each row 触发器中的这个是什么意思 是不是必不可少 每个触发器都必须有?~

一般都是做行级触发所以这么写 但不是必须的 for each row 就代表每行都相应XXX事件(insert update delete) 理解成每当往表插入(更新 删除)一行的时候就触发

for each row指的是数据库表的行
见1
根据不同的触发器条件,for each row是只要有一行发生改变就触发,因为你可以设定before/after,所以具体条件要具体判断
不加也没事儿啊,这个具体到你的触发动作是什么
————————————————————————————————
你给的条件有点儿模糊,如果有问题请追问

加了,每一条都会触 发,就算是批操作,也会一条条的触 发。

不加,就是一次的触发,如果是批操作,就只会触发一次。

比如 update tab set col = 1 where col = 2 ,一次更新了10条记录 ,
则加了,就是触发10次,不加,就是一次。

别看那人的回答,纯误导你,update语句,哪里有for each row这个

这个一般是用在存储过程或触发器的

例如对于触发器来说,加上这个语句,就会影响所有的数据,不加,仅针对当前做操作


龙南县15632754444: Oracle如何创建触发器 -
堂园妇科: create or replace trigger test_tri before update on EMP for each row declare a number; b number; begin a:=:new.工资1; b:=:new.工资2; if a+b<15000 then --这个自己写个求和的 dbms_output.put_line('工资总量低于15000的信息'); end if; end test_tri;

龙南县15632754444: oracle for each row加与不加有什么区别? -
堂园妇科: 加了,每一条都会触 发,就算是批操作,也会一条条的触 发.不加,就是一次的触发,如果是批操作,就只会触发一次.比如 update tab set col = 1 where col = 2 ,一次更新了10条记录 ,则加了,就是触发10次,不加,就是一次.

龙南县15632754444: Oracle 存储过程 触发器用法 -
堂园妇科: 1:什么叫存储过程?在oracle中,可以在数据库中定义子程序,这种程序块叫存储过程(procedure),它存放在数据字典中,可以在不同用户和应用程序中共享,并可以实现程序的优化和重用.2:存储过程的有点? 过程运行在服务器端,...

龙南县15632754444: oracle触发器该怎么用? -
堂园妇科: 你这个是 Oracle 的 for each row 触发器 也就是 每行 触发一次的.这种触发器, 不能直接通过 UPDATE 语句, 更新当前表.应该是通过 :new 来更新当前行的数据.也就是把 update t_emp set xm = REGEXP_REPLACE(xm,'( ){1,}',''); 修改为::new.xm = REGEXP_REPLACE(xm,'( ){1,}','');

龙南县15632754444: 求一个简单的oracle 触发器 写法 -
堂园妇科: 创建两个表: create table a (stdid int, stdname varchar2(10));create table b (stdid int, stdname varchar2(10));创建触发器:CREATE OR REPLACE TRIGGER tr_insertafter insertON aFOR EACH ROW BEGININSERT INTO b(stdid,...

龙南县15632754444: oracle trigger for each row 是遍历哪些 行呢
堂园妇科: 缺省的触发器类型是语句级的,但加了for each row之后就是行级的. 语句级的触发器对一个语句触发一次,行级触发器对语句涉及到的每一行都触发一次

龙南县15632754444: oracle数据库 r1好还是r2好 -
堂园妇科: 对oracle数据库来说,比如时候10G,r1是一般数据库用途,没有特别强烈的需要的话是可以的,而且和r2比起来占用的内存要小;r2中加入了工作流,owb等高级应用,所以哪个好不是很绝对,我估计你的应用用r1就足够了

龙南县15632754444: Oracle批量插入记录 before insert for each row触发器对每行都有效吗? -
堂园妇科: 这个before是在插入之前触发,每次插入的时候都有效

龙南县15632754444: oracle触发器的语法有何特点?
堂园妇科: 触发器是一种特殊的存储过程,下面是触发器的详细说明: ORACLE 触发器 ... [or replace] trigger 触发器名 触发时间 触发事件 on 表名 [for each row] pl/sql 语句 其中: 触...

龙南县15632754444: oracle创建一个触发器 -
堂园妇科: 一般在sqlplus或者其他第三方oracle工具中,按照语法及需求写好代码,直接执行创建过程即可.一般语法如下:CREATE [OR REPLACE] TRIGGER trigger_name{BEFORE | AFTER }{INSERT | DELETE | UPDATE [OF column [, column …]]...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网