Oracle SQL Developer触发器名和表名相同 触发器不可删除了

一不小心就把名字打成了完全一样
删除就报错 说是要和表一起删除

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
表删除了,触发器还在
今天在数据库中查到了一些触发器,这些触发器的表已经被删掉了。为什么在删除表的时候没有自动删除表下的触发器呢?
sql触发器sql触发器触发器
触发器内容保存 到本机。刷新了 点击然而并不能展开n触发器内容保存 到本机。刷新了 点击然而并不能展开![图片说明](https://img-ask.csdn.net/upload/201607/15/1468561976_928390.png)
MSSQL触发器为什么自动删除了??????????
下面是我创建的一个触发器,当光伏电池数值超过设定的范围就会插入故障表,rn但是在刚刚建立的触发器时,可以将故障数据插入到故障表,之后这个触发器就自动消失了.也就是创建过后只运行一次.rn(奇怪的事,我的另一个表用的是同样的语法结构,也用了触发器,这个触发器没有消失,正常运行)rnrn以下是代码:rn use GFZX1rnrnIF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'TR' AND NAME = 'T_FUALTJUDGE_光伏电池Agent')rnDROP TRIGGER T_FUALTJUDGE_光伏电池AgentrnGOrnrnCREATE TRIGGER T_FUALTJUDGE_光伏电池AgentrnON 光伏电池AgentrnFOR INSERT,UPDATErnAS BEGINrnrnDECLARE @光伏ID char(20)rnSET @光伏ID=(SELECT 光伏ID From INSERTED)rnrnDECLARE @光伏名称 varchar(50)rnSET @光伏名称=(SELECT 光伏名称 From INSERTED)rnrnrnDECLARE @微网AgentID char(20)rnSET @微网AgentID=(SELECT 微网AgentID From INSERTED)rnrnDECLARE @发电量 floatrnSET @发电量=(SELECT 发电量 From INSERTED)rnrnDECLARE @开路电压 floatrnSET @开路电压=(SELECT 开路电压 From INSERTED)rnrnDECLARE @短路电流 floatrnSET @短路电流=(SELECT 短路电流 From INSERTED)rnrnrnDECLARE @最大发电量 floatrnSET @最大发电量=(SELECT 最大发电量 From INSERTED)rnrnDECLARE @开路电压最大值 floatrnSET @开路电压最大值=(SELECT 开路电压最大值 From INSERTED)rnrnDECLARE @短路电流最大值 floatrnSET @短路电流最大值=(SELECT 短路电流最大值 From INSERTED)rnrnDECLARE @最小发电量 floatrnSET @最小发电量=(SELECT 最小发电量 From INSERTED)rnrnDECLARE @开路电压最小值 floatrnSET @开路电压最小值=(SELECT 开路电压最小值 From INSERTED)rnrnDECLARE @短路电流最小值 floatrnSET @短路电流最小值=(SELECT 短路电流最小值 From INSERTED)rnrnrnrnDECLARE @时间 DateTimernSET @时间=(SELECT 时间 From INSERTED)rnrn/*UPDATE Agent注册信息表rnSET 发电量=发电量-@消耗功率,rn 时间=@时间rnwhere AgentID=@微网AgentID*/rnrnif(@开路电压>@开路电压最大值) rn beginrnrn INSERT INTO 故障rn values(@光伏ID,@光伏名称,@开路电压,@短路电流,@发电量,'电压过大',@微网AgentID,@时间,NULL);rn rn ENDrnrnrnif(@短路电流>@短路电流最大值)rn beginrn INSERT INTO 故障rn values(@光伏ID,@光伏名称,@开路电压,@短路电流,@发电量,'电流过大',@微网AgentID,@时间,NULL);rn rn endrnrnif(@发电量>@最大发电量) rn beginrn INSERT INTO 故障rn values(@光伏ID,@光伏名称,@开路电压,@短路电流,@发电量,'发电量太大',@微网AgentID,@时间,NULL);rn endrnrnif(@开路电压<@开路电压最小值) rn beginrn INSERT INTO 故障rn values(@光伏ID,@光伏名称,@开路电压,@短路电流,@发电量,'电压过小',@微网AgentID,@时间,NULL);rn endrnrnif(@短路电流<@短路电流最小值) rn beginrn INSERT INTO 故障rn values(@光伏ID,@光伏名称,@开路电压,@短路电流,@发电量,'电流过小',@微网AgentID,@时间,NULL);rn endrnrnif(@发电量<@最小发电量) rn beginrn INSERT INTO 故障rn values(@光伏ID,@光伏名称,@开路电压,@短路电流,@发电量,'发电量过小',@微网AgentID,@时间,NULL)rn rn ENDrnrn ENDrnrn请高手们看看,小弟不甚感激,急!!!!!!!!!!!!!! 这个没有错误,也能执行,但触发一次后,这个触发器就自动消失了,??????
Hibernate删除表的时候删除了触发器怎么办?
事情是这样子的:rnrn在Oracle中创建了表,并且对应表创建了相应的触发器,POJO类和映射文件是通过MyEclipse里面的Hibernate自动创建的rn现在由于逻辑的需要,需要使用Hibernate删除表然后再重新建表,但是删除表以后会把表对应的触发器也删除掉,想问下各路大神,能不能使用哪种方法将自动生成触发器?或者是通过某种方法将触发器备份下来,建完表以后再恢复回去?rnrn我的想法是:在Hibernate删除表之前将所有表对应的触发器全都备份下来,等到Hibernate创建了表以后再将备份的触发器重新写入数据库。只是不知道这样做是不是可行的。忘大神指点,有其他方法也可以提出来哈。这里先谢过了。
oracle触发器删除一条数据,删除了所有数据???
先看代码rn[code="java"]rncreate or replace trigger TIB_T_USER_BASErn after delete on t_user_base rn for each rowrndeclarern -- local variables herern userid number;rnbeginrn userid:=:old.userid;rn delete t_user_detail t where t.userid=userid;rnrnend TIB_T_USER_BASE;rnrn[/code]rnrn我删除 TIB_T_USER_BASE 的一条数据时候,想把t_user_detail 的t.userid=userid的数据 删除。但是怎么把t_user_detail表所有的数据删除了??
Oracle触发器 如何改成 SQL Server 触发器
[img=https://img-bbs.csdn.net/upload/201601/11/1452477380_829621.png][/img]rnrn触发条件怎么改rnrn增、删、改 触发条件sqlserver要创3个吗 ?rnafter insertrnafter update rnafter deleternrn还有怎么取增、删、改数据的值?rn
【Oracle PL/SQL程序设计之触发器】触发器实验
【自治事务】 /** *自治事务 * 可以保存出错信息-允许用户建立一个”事务中的事务”,能够独立与父事务提交或回滚 *可用于1.顶层匿名块 2.本地(过程中的过程)、独立或打包的函数或者过程 3.对象数据类型的方法 4.数据库触发器 结束一个自治事务必须提交一个commit/rollback/执行DDL. 【使用原因】 因为在数据...
如何将sql的触发器转换成Oracle的触发器
sql的触发器语句为rnCREATE TRIGGER tu_cws_CWareRegisterCard ON [cws_CWareRegisterCard] rnFOR UPDATErnASrndeclare @CWareRCID integerrndeclare @CWareName char(60)rndeclare @CWareName2 char(60)rnselect @CWareRCID = CWareRCID , @CWareName = CWareName from inserted tttrnrnif(update(CWareName))rn beginrn if(exists (select 1 from cws_CWareList where CWareID in (select CWareID from cws_CWCompare where CWareRCID = @CWareRCID)))rn select @CWareName2 = CWareName from cws_CWareList where CWareID in ( select CWareID from cws_CWCompare where CWareRCID = @CWareRCID )rn if ( @CWareName2 <> @CWareName ) rn update cws_CWareList set CWareName = rtrim( @CWareName ) where CWareID in ( select CWareID from cws_CWCompare where CWareRCID = @CWareRCID ) rn endrn我写的Oracle触发器为rndeclarerntCWareRCID integer;rntCWareName char(60);rntCWareName2 char(60);rnbeginrn--select CWareRCID INTO tCwareRCID from inserted ttt;rn--select CWareName INTO tCWareName from inserted ttt;rn--if(update(CWareName))rnif(exists(select null from cws_CWareList where CWareID in ( select CWareID from cws_CWCompare where CWareRCID = 1 )) thenrnrn select CWareName INTO tCWareName2 from cws_CWareList where CWareID in ( select CWareID from cws_CWCompare where CWareRCID = tCWareRCID );rn if ( tCWareName2 <> tCWareName ) thenrn update cws_CWareList set CWareName = rtrim( tCWareName ) where CWareID in ( select CWareID from cws_CWCompare where CWareRCID = tCWareRCID );rn end if;rnend if;rnend;rn但是有错,谁能帮我解决!
【触发器】SQL数据库!触发器!
有表[pro] 字段 UserName,[CurrentPage],[ItemUrl],[PicUrl],[ProdID],[ProcMoney]!rn当更新表pro的时候希望建立一个触发器,判断CurrentPage是不是like '%ProdID=%'如果是则提取CurrentPage,ItemUrl,PicUrl,ProdID,ProcMoney将其插入表Stop中!rn rnrn 求各位达人有没有办法啊?我不懂触发器,现在项目中用到!急需!
修改触发器记录表名
表info rn例如:id name rn 1 小强 rn rn表tb1 rn id_alter table_namern 1 infornrn当修改记录时 将id和表名的值存放到tb1表中的对应字段中,触发器如何写?
触发器中的变量表名
触发器中的变量表名,查询出了一个表里面放的表名,然后用这个查询出来的作为表名在进行查询。rn例如:selcet a into a_table from b ;结果a_table;然后selcet cc into bb from a_table ; rn怎么实现呢。
Mysql触发器》》》》二(删)
#当买了四条狗的时候,订单表中会有一个四条狗的订单 #商品表中狗的数量会-4 #数据库中所产生的新一行用new来表示 #old代表的是被删的那一行 create TRIGGER t2 after insert on ord for EACH ROW begin update goods set num=num-new.much WHERE gid=new.gid #当买了四条狗的时候,订单表中有一...
触发器级联删问题
代码如下:rnUSE [AutoDS]rnGOrn/****** Object: Trigger [dbo].[tr_BaseInfo] Script Date: 07/26/2014 19:25:52 ******/rnSET ANSI_NULLS ONrnGOrnSET QUOTED_IDENTIFIER ONrnGOrnrnALTER TRIGGER [dbo].[tr_BaseInfo]rnON [dbo].[BaseInfo] rn instead of deleternAS rnbeginrn declare @id intrn select @id=id from deletedrn delete OwnerInfo where CarID=@id--外键rn delete InsuranceForm where InsuredId=@id--外键rn --delete BaseInfo where Id=2--加不加这一条都没效果(主键)rnendrnrndelete BaseInfo where Id=2--执行入口rn注:BaseInfo主表,,OwnerInfo及InsuranceForm为外键表,,调用Delete BaseInfo where id=2这条语句时,外键表的那条数据可以删除,主键表的记录不能删.指点下哪里不对.
oracle触发器转换mysql 触发器
[code=sql]rncreate trigger TR_A_DIU_VTDU_SERVERrn after insert or update or delete on VTDU_SERVERrnfor each rowrnbeginrn IF INSERTING THENrn INSERT INTO DB_NOTIFY (TABLE_NAME, KEY_VALUE, KEY_INFO, ACTION, ACTION_TIME)rn VALUES ('vtdu_server', :NEW.SERVER_ID, NULL, 1, SYSDATE());rn ELSIF DELETING THENrn set @index_code=(SELECT INDEX_CODE INTO index_code_val FROM SERVER_INFO WHERE SERVER_ID = :OLD.SERVER_ID);rn INSERT INTO DB_NOTIFY (TABLE_NAME, KEY_VALUE, KEY_INFO, ACTION, ACTION_TIME)rn VALUES ('vtdu_server', :OLD.SERVER_ID,index_code, 2, SYSDATE());rn END IF;rnend tr_a_diu_vtdu_server;rn[/code]rn想知道 mysql 里面如何将多种操作写在一个触发器里?不想写多个触发器。只需回答如何在一个触发器里写多种触发操作就好。
ORACLE触发器转换成DB2触发器
现在有一个ORACLE的触发器脚本,想要转成DB2的触发器脚本,表结构都已经做好,对ORACLE和DB2的语法都不熟悉,求大神帮忙转换一下,下面是ORACLE触发器的脚本。rn[code=sql]CREATE OR REPLACE TRIGGER T_TRANSACTION_FOR_SPLITED BEFORE INSERT ON M_TRANSACTION_SPLITED REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROWrnrnDECLARErn v_path_len NUMBER;rn v_path_gene VARCHAR2(2000);rn v_char_len INT;rn v_rel_times INT;rn v_i INT;rn v_id INT;rn v_ret INT;rn v_sql VARCHAR2(2000);rn v_clas VARCHAR2(2);rn v_temp VARCHAR2(20);rn v_path_entry VARCHAR2(200);rn v_path_exit VARCHAR2(200);rn v_serial_entry NUMBER(16);rn v_serial_exit NUMBER(16);rn v_serial NUMBER(16);rn v_count LONG;rn v_bl NUMBER(8,2);rn v_bl_curr NUMBER(8,2);rn v_len NUMBER;rn v_dhm DATE;rn v_part NUMBER(3);rn v_netno CHAR(2);rn v_plazno CHAR(2);rn BEGINrn :NEW.PART := MOD(TRUNC(:NEW.DHM ,'J') - TO_DATE('20000101','YYYYMMDD'),93) ;rn IF :NEW.PART = 0 THENrn :NEW.PART := 93;rn END IF;rnrn IF :NEW.BILL_CODE = '01' THENrn BEGINrn v_netno := :NEW.net_no;rn v_plazno := :NEW.plaz_no;rn --IF v_netno='05' AND v_plazno='38' THENrn -- v_netno:='04';rn --END IF;rn SELECT road_line,road_len INTO v_path_gene, v_path_len FROM M_SPLIT_CONST_USEDrn WHERE road_name = :NEW.entr_net_no || :NEW.entr_plaz_no || v_netno || v_plazno ANDrn VER_NO = :NEW.VER_NO;rn EXCEPTIONrn WHEN NO_DATA_FOUND THENrn --没找到路径rn BEGINrnrn SELECT road_line,road_len INTO v_path_gene, v_path_len FROM M_SPLIT_CONST_USEDrn WHERE road_name = '9995' || :NEW.net_no || :NEW.plaz_no ANDrn VER_NO = :NEW.VER_NO;rnrn INSERT INTO O_TRANS_ERROR_PATH ( SERIAL, PLAZ_ENTRY, PLAZ_EXIT)rn VALUES( :NEW.serial, :NEW.entr_net_no || :NEW.entr_plaz_no, :NEW.net_no || :NEW.plaz_no );rnrn EXCEPTIONrn WHEN NO_DATA_FOUND THENrn RAISE_APPLICATION_ERROR(-20001,'(将路口站替换为9995也未找到)在拆分常量表中未发现记录'||:NEW.entr_net_no || :NEW.entr_plaz_no || :NEW.net_no || :NEW.plaz_no||',请检查帐务拆分系统(ABS)是否配置 '||:NEW.entr_net_no || :NEW.entr_plaz_no ||'或'|| :NEW.net_no || :NEW.plaz_no );rn END;rnrnrn END;rn v_clas := TO_CHAR(:NEW.key_in_type );rn v_char_len := LENGTH( v_path_gene ) ;rn v_rel_times := v_char_len / 8 ;rnrn SELECT DHM,TO_NUMBER( TO_CHAR( DHM,'MM') ) INTO v_dhm,v_part FROM O_BANK_REBACK WHERE SERIAL = :NEW.SERIAL_BANK_IN;rn -- INSERT OR UPDATE MONEY_REALrn v_sql := 'UPDATE M_MONEY_TOTAL_BANKIN SET MONEY_REAL' ||'= MONEY_REAL + ' || :NEW.TOD_FARE ||rn ' WHERE PART='||v_part||' AND NET_NO = '''||:NEW.NET_NO||''' AND PLAZ_NO='''||:NEW.PLAZ_NO||''' AND BANK_IN_SERIAL='||:NEW.SERIAL_BANK_IN||rn ' AND VER_NO='||:NEW.VER_NO||' AND DHM='||'TRUNC(TO_DATE('''||v_dhm||'''),''J'') ';rnrn v_id :=DBMS_SQL.OPEN_CURSOR;rn dbms_sql.PARSE(v_id, v_sql ,dbms_sql.v7);rn v_ret := dbms_sql.EXECUTE(v_id);rn IF v_ret = 0 THENrn v_sql := 'INSERT INTO M_MONEY_TOTAL_BANKIN ( BANK_IN_SERIAL,VER_NO,NET_NO,PLAZ_NO,MONEY_REAL, DHM)' ||rn ' VALUES('||:NEW.SERIAL_BANK_IN||','||:NEW.VER_NO||','''||:NEW.NET_NO||''','''||:NEW.PLAZ_NO||''', '||:NEW.TOD_FARE ||rn ', TRUNC(TO_DATE('''||v_dhm||'''),''J'') ) ';rnrn dbms_sql.PARSE(v_id, v_sql ,dbms_sql.v7);rn v_ret := dbms_sql.EXECUTE(v_id);rn END IF;rnrn v_bl :=0;rn v_len :=0;rn FOR v_i IN 1..v_rel_times LOOPrn -- INSERT OR UPDATE M_MONEY_DETAIL ;rn IF v_i <> v_rel_times THENrn IF v_path_len = 0 THENrn v_bl_curr := TRUNC(1/ v_rel_times,2) ;rn v_bl := v_bl + v_bl_curr;rnrn ELSErn v_len := v_len + TO_NUMBER(SUBSTR(v_path_gene,8*(v_i - 1) +5,4)) ;rn IF v_len = v_path_len THEN --如果还未到最后一站路长已经等于累加长时表明后面的站拆分因子都为0;rn v_bl_curr := 1 - v_bl;rn ELSErn v_bl_curr := TRUNC(TO_NUMBER(SUBSTR(v_path_gene,8*(v_i - 1) +5,4)) /TO_NUMBER(v_path_len) ,2) ;rn END IF;rn v_bl := v_bl + v_bl_curr ;rnrn END IF;rn v_temp := TO_CHAR( TO_NUMBER(:NEW.tod_fare) * v_bl_curr ,'FM99999999999.9999');rn ELSErn v_temp := TO_CHAR( TO_NUMBER(:NEW.tod_fare) * ( 1 - v_bl ) ,'FM99999999999.9999');rn END IF;rn v_sql := 'UPDATE M_MONEY_DETAIL SET TRAN_NUM = TRAN_NUM + 1,'||'MONEY= MONEY + ' || V_TEMP ||rn ' WHERE BANK_IN_SERIAL = '||:NEW.SERIAL_BANK_IN||' AND NET_NO_EXIT = '''||:NEW.NET_NO||''' AND PLAZ_NO_EXIT='''||:NEW.PLAZ_NO||rn ''' AND NET_NO_GET='''||SUBSTR(V_PATH_GENE,8*(V_I - 1) + 1,2)||''' AND PLAZ_NO_GET='''||SUBSTR(V_PATH_GENE,8*(V_I - 1) +3,2)||''' AND MOP='''||:NEW.BILL_CODE||''' AND CLASS='||V_CLAS||rn ' AND PART='||V_PART;rnrn DBMS_SQL.PARSE(v_id, v_sql ,dbms_sql.v7);rn v_ret := dbms_sql.EXECUTE(v_id);rn IF v_ret = 0 THENrn v_sql := 'INSERT INTO M_MONEY_DETAIL ( BANK_IN_SERIAL,NET_NO_EXIT,PLAZ_NO_EXIT,' ||rn 'NET_NO_GET,PLAZ_NO_GET,MOP,CLASS,TRAN_NUM,MONEY ) '||rn ' VALUES('||:NEW.SERIAL_BANK_IN||','''||:NEW.net_no||''','''||:NEW.plaz_no||''','''||SUBSTR(v_path_gene,8*(v_i - 1) +1,2)|| ''', '''||SUBSTR(v_path_gene,8*(v_i - 1) +3,2)||''','''||rn :NEW.BILL_CODE||''','''||v_clas||''',1,'|| v_temp ||' ) ';rnrn DBMS_SQL.PARSE(V_ID, V_SQL ,DBMS_SQL.V7);rn V_RET := DBMS_SQL.EXECUTE(V_ID);rn END IF;rnrn --INSERT OR UPDATE M_MONEY_TOTAL_BANKIN;rn -- INSERT OR UPDATE MONEY_IN OR MONEY_OUTrn IF :NEW.net_no||:NEW.plaz_no <> SUBSTR(v_path_gene,8*(v_i - 1) +1,4) THENrn -- UPDATE MONEY_OUTrn SELECT TO_NUMBER( TO_CHAR( v_dhm,'MM')) INTO v_part from dual; rn v_sql := 'UPDATE M_MONEY_TOTAL_BANKIN SET MONEY_OUT' ||'= MONEY_OUT + ' || v_temp ||rn ' WHERE PART='||v_part||' AND NET_NO = '''||:NEW.NET_NO||''' AND PLAZ_NO='''||:NEW.PLAZ_NO||''' AND BANK_IN_SERIAL='||:NEW.SERIAL_BANK_IN||rn ' AND VER_NO='||:NEW.VER_NO||' AND DHM='||'TRUNC(TO_DATE('''||v_dhm||'''),''J'') ';rnrn dbms_sql.PARSE(v_id, v_sql ,dbms_sql.v7);rn v_ret := dbms_sql.EXECUTE(v_id);rnrn IF v_ret = 0 THENrn v_sql := 'INSERT INTO M_MONEY_TOTAL_BANKIN ( BANK_IN_SERIAL,VER_NO,NET_NO,PLAZ_NO,MONEY_REAL, DHM)' ||rn ' VALUES('||:NEW.SERIAL_BANK_IN||','||:NEW.VER_NO||','''||:NEW.NET_NO||''','''||:NEW.PLAZ_NO||''', '||:NEW.TOD_FARE ||rn ', TRUNC(TO_DATE('''||v_dhm||'''),''J'') ) ';rnrn dbms_sql.PARSE(v_id, v_sql ,dbms_sql.v7);rn v_ret := dbms_sql.EXECUTE(v_id);rn END IF;rn -- update money_inrn v_sql := 'UPDATE M_MONEY_TOTAL_BANKIN SET MONEY_IN' ||'= MONEY_IN + ' ||v_temp ||rn 'WHERE PART = '||v_part||' AND NET_NO = '''|| SUBSTR(v_path_gene,8*(v_i - 1) +1,2)||''' and PLAZ_NO='''|| SUBSTR(v_path_gene,8*(v_i - 1) +3,2)||rn ''' AND BANK_IN_SERIAL='||:NEW.SERIAL_BANK_IN||' AND VER_NO='||:NEW.VER_NO||rn ' AND DHM='||'TRUNC(TO_DATE('''||v_dhm||'''),''J'') ';rnrn dbms_sql.PARSE(v_id, v_sql ,dbms_sql.v7);rn v_ret := dbms_sql.EXECUTE(v_id);rn IF v_ret = 0 THENrn v_sql := 'INSERT INTO M_MONEY_TOTAL_BANKIN (BANK_IN_SERIAL,VER_NO,NET_NO,PLAZ_NO,MONEY_IN, DHM)' ||rn ' VALUES('||:NEW.SERIAL_BANK_IN||','||:NEW.VER_NO||','''|| SUBSTR(v_path_gene,8*(v_i - 1) +1,2)||''','''|| SUBSTR(v_path_gene,8*(v_i - 1) +3,2)||''', '|| v_temp ||rn ', TRUNC(TO_DATE('''||v_dhm||'''),''J'') ) ';rnrnrn dbms_sql.PARSE(v_id, v_sql ,dbms_sql.v7);rn v_ret := dbms_sql.EXECUTE(v_id);rn END IF;rn END IF;rn END LOOP;rn dbms_sql.CLOSE_CURSOR(v_id);rn END IF;rn EXCEPTIONrn WHEN NO_DATA_FOUND THENrn v_ret := 0 ;rnrn --insert into m_temp values(:new.serial);rnrnEND T_TRANSACTION_FOR_SPLITED ;rn[/code]
触发器触发器触发器触发器
触发器9.18触发器9.18触发器9.18触发器触发器9.18触发器9.18触发器9.18触发器
(转)oracle触发器----增 删 改
:new --为一个引用最新的列值; :old --为一个引用以前的列值; 这两个变量只有在使用了关键字 &quot;FOR EACH ROW&quot;时才存在.且update语句两个都有,而insert只有:new ,delect 只有:old; Old,New新解: :new中存储的是T表更新内容中已经更新完成的字段; :old中存储的是更新前的tid内容; http://topic.csdn.n...
oracle触发器
oracle触发器编写注意事项和代码规则
oracle 触发器
在一个表上同时定义语句级触发器和行级触发器验证先触发那种触发器的验证sql代码
Oracle触发器
数据库触发器是一个与表相关联的、存储的PL/SQL程序。每当一个特定的数据操作语句(Insert,update,delete)在指定的表上发出时,Oracle自动地执行触发器中定义的语句序列。    1.触发器作用 l 数据确认  l 实施复杂的安全性检查 l 做审计,跟踪表上所做的数据操作等  l 数据的备份和同步    2.触发器的类型  语句级触发器 :在指定的操作语句操
oracle之触发器
触发器语法:1、触发器语法CREATE [OR REPLACE] TIGGER 触发器名[before|after] --触发时间[insert|update[of]|delete] --触发事件ON 表名[FOR EACH ROW]--行级触发器[for each statement]--表级触发器BEGIN    pl/sql语句[或者调用已经建立好的存储过程]END;其中:触发器名:触发器对...
Oracle 触发器
1、触发器简介 触发器可以看作是一种特殊的存储过程,它定义了一些与数据库相关的事件发生时所执行的的代码。 触发器和存储过程的区别:定义触发器和存储过程的语法相似,但存储过程需要用户亲自调用,而触发器则由触发事件调用。 触发事件:指能够引起触发器运行的操作的就被称为触发事件。 2、触发器语法 创建一个触发器: create [or replace] trigger 触发器名称 [be...
oracle 触发器
在触发器中,如何操作判断条件成立则插入当前行,不成立则放弃插入当前行?
oracle 触发器 !!!!!!!!!
desc linkman; --通讯录 rnName Type Nullable Default Comments rn-------- ------------- -------- ------- -------- rnID VARCHAR2(100) 自动增长的序列seq_ID rnGROUP_ID VARCHAR2(100) Y NULL rnUSERID VARCHAR2(100) Y '-1' rnNAME VARCHAR2(100) Y '-1' 名字 rnEMAIL VARCHAR2(100) Y NULL email rnPHONE VARCHAR2(100) Y NULL rnREMARK VARCHAR2(500) Y NULL rnrnrndesc whitelist; --白名单 rnName Type Nullable Default Comments rn----------- ------------- -------- ------- -------- rnID VARCHAR2(50) 自动增长的序列seq_ID rnUSER_CARDID VARCHAR2(100) rnUSEREMAIL VARCHAR2(100) Y rnEMAIL VARCHAR2(50) Y email rnNAME VARCHAR2(20) Y 名字 rnrn当我向whitelist中添加一条记录insert into whitelist(ID,USER_CARDID,USEREMAIL,EMAIL,NAME) values('1000','279F','admin@sina.com','aaa@sina.com','aaa'); 就同时向linkman中也insert into linkman(ID,USERID,name,email) values('1000','admin@sina.com','aaa@sina.com','aaa'); rn当我从whitelist中根据ID删除一条记录delete from whitelist where ID='1000'就同时也向linkman中也delete from linkman where ID = '1000'; rnwhitelist和linkman通过whitelist.ID和linkman.ID关联 rnrn想通过写个触发器实现该功能 上面还一个帖子一样的30分rn
oracle触发器!!
在oracle触发器中 是否可以直接发起一个Http请求? 如果可以的话 如何发起?rnrn谢谢了~~~
oracle的触发器
<p>rn <span style="color:#333333;">本课程简单介绍了oracle 11g数据库管理系统的安装与使用,详细介绍了oracle的基本语法,plsql的程序块的编程,存储过程的开发,序列,索引,触发器和视图的使用。通过本课程的学习,能够完全满足企业级项目开发中对数据库知识的要求。</span> rn</p>rn<p>rn <br />rn</p>
删除了删除了删除了删除了删除了删除了删除了删除了删除了删除了删除了
删除了删除了删除了删除了删除了删除了删除了删除了删除了删除了删除了
Oracle:触发器
Oracle:触发器说明:oracle触发器,对指定表进行增删改操作,触发逻辑操作。SQL> create or replace trigger agreement_trigger 2 after update or insert or delete on base_agreement_template_test 3 for each row 4 begin 5