志在指尖
用双手敲打未来

oracle触发器(insert和update写法)

oracle触发器

Selectobject_nameFromuser_objectsWhereobject_type=’TRIGGER’;–一切触发器
办法二:
当然,还能够试试下面的句子
Select*Fromuser_triggers;–一切触发器
触发器:
触发器(trigger)是SQLserver提供给程序员和数据分析员来保证数据完整性的一种办法,它是与表事件相关的特殊的存储过程,它的履行不是由程序调用,也不是手工发动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它履行。触发器经常用于加强数据的完整性束缚和事务规矩等。触发器能够从DBA_TRIGGERS,USER_TRIGGERS数据字典中查到。SQL3的触发器是一个能由体系主动履行对数据库修正的句子。
触发器能够查询其他表,并且能够包含复杂的SQL句子。它们主要用于强制服从复杂的事务规矩或要求。例如:您能够根据客户当时的帐户状态,操控是否答应刺进新订单。
触发器也可用于强制引证完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所界说的联系。但是,强制引证完整性的最好办法是在相关表中界说主键和外键束缚。如果运用数据库联系图,则能够在表之间创立联系以主动创立外键束缚。
触发器与存储过程的唯一区别是触发器不能履行EXECUTE句子调用,而是在用户履行Transact-SQL句子时主动触发履行。
语法:
CREATE
TRIGGER`jony_keer`.`ins_account`AFTERINSERT
ON`jony_keer`.`t_account`
FOREACHROWBEGIN
INSERTINTO`t_user`(`userid`,`cellphone`,`account_psd`)VALUES(new.`account_id`,new.`cellphone`,new.`account_psd`);
END$$
TRIGGER触发器
`jony_keer`.`ins_account`触发器称号jony_keer是我的数据库姓名ins_account才是实际的触发器称号
AFTER表明履行条件,有BEFORE(之前)AFTER(之后)
INSERTON表明在履行了刺进操作,有INSERT/UPDATE/DELETE三种
`jony_keer`.`t_account`接下来的这个是表明触发器地点的表(能够理解为触发器在t_account表刺进一组出具后履行)
FOREACHROWBEGIN固定于法后边跟你要做的工作例如我要做的工作是在t_user表中刺进
`userid`,`cellphone`,`account_psd`三个记录
INSERTINTO`t_user`(`userid`,`cellphone`,`account_psd`)VALUES(new.`account_id`,new.`cellphone`,new.`account_psd`);
咦!new是什么玩意。。。
好吧!new其实便是t_account表中刺进的数据咱们把t_account表中刺进的account_idcellphoneaccount_psd赋值给t_user表中的useridcellphoneaccount_psd,OK!这样一个简略的触发器就做好了。oracle

insert和update写法

/复杂触发器,功能数据插入是触发数据联动
//注意:new.DATA_REGION:=才是赋值
CREATE
ORREPLACETRIGGERTRIGGER_NAME
BEFOREINSERTONTABLE_NAME
FOREACHROW
DECLARE
CREATE_USER_IDVARCHAR(40);
CREATE_DATEDATE;
DH_EVENT_IDVARCHAR(50);
DATA_REGIONVARCHAR(10);
BEGIN
SELECT
USER_NAMEINTOCREATE_USER_ID
FROMlink_name
whereTRUE_NAME=:NEW.CREATER;
:new.CREATE_DATE:=SYSDATE;
:new.DH_EVENT_ID:=RAWTOHEX(SYS_GUID());
:new.DATA_REGION:=’HH’;
:new.CREATE_USER_ID:=CREATE_USER_ID;
END;
//简单触发器插入数据触发
CREATEORreplacetriggerTRIGGER_NAME
beforeinsertonTABLE_NAME
foreachrow
begin
:new.INPUT_DATE:=TO_CHAR(
sysdate,
‘yyyy-MM-ddhh24:mi:ss’
);
:new.DH_EVENT_ID:=rawtohex(sys_guid());
end;

未经允许不得转载:IT技术网站 » oracle触发器(insert和update写法)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载