www.3112.net > orAClE编写触发器

orAClE编写触发器

写一个trigger到test_log表中 create or replace trigger "test_log_insert" before insert on "test_log" for each row declare existv number:=0; begin begin select count(*) into existv from test where num=:new.num and name=:new.name; exception

写一个trigger到test_log表中 CREATE OR REPLACE TRIGGER "test_log_insert" BEFORE INSERT ON "test_log" FOR EACH ROW declare existv number:=0; begin begin select count(*) into existv from test where num=:new.num and

这个问题e5a48de588b6e79fa5e9819331333330326130和前几天的一个问题类似,参考一下如下代码:create or replace trigger test_log_trigger before insert on test_log referencing new as n for each rowdeclare v_count number;begin begin

我以前做的一个例子,你参考下吧第八章 触发器(Trigger)--格式:create or replace trigger 名称 [after|before][delete|update|insert][on 表 | on schema][referencing new as 别名 old as 别名][for each row]declare .begin exception .end;--创建

create or replace trigger mytrigger after delete on dept1 for each row begin delete from emp1 where deptno=:old.deptno; end; /

CREATE OR REPLACE TRIGGER testAFTER INSERT OR DELETE OR UPDATE ON A BEGINIF INSERTING THEN INSERT INTO B VALUES;ELSIF DELETING THEN INSERT INTO B VALUES;ELSE INSERT INTO B VALUES;END IF; END test;大体是这样.

问题1:几个表都是干什么的,有中文注释吗?问题2:你说的这个好像不是触发器的功能,好像是存储过程的功能问题3:有什么主外键关联也标示一下 ----------补充--------你的意思是当往course表里插入数据的时候,并且往student插入数据的时候,如果插入的数据course.restrict_grade和student.grade相等,则在中间表course_record也插入一条?不知道我理解的对不对,实现这个功能最简单的方法是采用视图,也就是把course_record表改成一个视图,可能不符合你要求,你先把上边问题回答完了我再给你写吧

创建两个表:create table a(stdid int,stdname varchar2(10)); create table b(stdid int,stdname varchar2(10));创建触发器:CREATE OR REPLACE TRIGGER tr_insert after insert ON a FOR EACH ROW BEGIN INSERT INTO b(stdid,stdname) VALUES(:new.stdid,:new.stdname); END;验证,在a表中插入数据:insert into a values (1,'a'); commit;验证b表结果:

可以:首先建立DBLINK,然后在DBLINK上建立虚拟表,该表映射到DBLINK所指向的数据库的表(你要写入的表)最后在触发器中对这个虚拟表进行操作即可.

1. 介绍 触发器(trigger)是数据库提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com