触发问题 逻辑:表A 表B当表A被insert数据时,表B参照被插入数据的主键在表B中插入一条数据,或者当表A中某条数据被更新时然后调用一个过程又经过一些逻辑更新表B中的数据。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写触发器啊。举个例子:CREATE TABLE course( cno VARCHAR2(10), credit NUMBER(4));CREATE TABLE SC( sno VARCHAR2(10), cno VARCHAR2(10), grade NUMBER(4));CREATE TABLE credit( sno VARCHAR2(10), sumcredit NUMBER, notpass NUMBER);实现的触发器:CREATE OR REPLACE TRIGGER TriggerOnSC AFTER INSERT ON SC FOR EACH ROWDECLARE newCredit number(8); tempCNO SC.cno%TYPE;BEGIN --判断是否及格 IF :NEW.grade >= 60 THEN --取该课程学分 tempCNO := :NEW.cno; SELECT credit INTO newCredit FROM course WHERE cno = tempCNO; --更新该学生学分 UPDATE credit SET sumcredit = sumcredit + newCredit WHERE sno = tempCNO; ELSE --更新不及格次数 UPDATE credit SET notpass = notpass + 1 WHERE sno = tempCNO; END IF;END TriggerOnSC; oracle 关闭后,原先保存的数据表内容丢失?!! 数据库已经启动,但是无法打开 求oracle大师帮助 简单的cat问题 游标变量做形参的模式问题 如何判断一个字符串中有几个英文字母,几个数字 怎么把5条记录拼成一条字符串? 问几个关于oracle 的简单的问题 dbca无法删除数据库实例 【求助】大家帮忙看看这个触发器,在触发器中记录当前时间 关于ORACLE11G数据库安装后的登录问题 sqlloader和import有什么相同点和区别啊
举个例子:CREATE TABLE course
(
cno VARCHAR2(10),
credit NUMBER(4)
);CREATE TABLE SC
(
sno VARCHAR2(10),
cno VARCHAR2(10),
grade NUMBER(4)
);CREATE TABLE credit
(
sno VARCHAR2(10),
sumcredit NUMBER,
notpass NUMBER
);
实现的触发器:CREATE OR REPLACE TRIGGER TriggerOnSC
AFTER INSERT ON SC
FOR EACH ROW
DECLARE
newCredit number(8);
tempCNO SC.cno%TYPE;
BEGIN
--判断是否及格
IF :NEW.grade >= 60 THEN
--取该课程学分
tempCNO := :NEW.cno;
SELECT credit INTO newCredit FROM course WHERE cno = tempCNO;
--更新该学生学分
UPDATE credit SET sumcredit = sumcredit + newCredit WHERE sno = tempCNO;
ELSE
--更新不及格次数
UPDATE credit SET notpass = notpass + 1 WHERE sno = tempCNO;
END IF;
END TriggerOnSC;