human 使用oracle创建触发器实现更新dept表中的deptno值级联更新emp表中相应值。; AI 以下是使用Oracle创建触发器实现更新dept表中deptno值级联更新emp表中相应值的示例代码:CREATE OR REPLACE TRIGGER update_emp_deptnoAFTER UPDATE OF deptno ON deptFOR EACH ROWBEGIN U
AI: 以下是一个测试上述触发器的示例代码:
-- 创建一个测试表
CREATE TABLE test_dept (deptno NUMBER, deptname VARCHAR2(20));
CREATE TABLE test_emp (empno NUMBER, ename VARCHAR2(20), deptno NUMBER);
-- 插入测试数据
INSERT INTO test_dept VALUES (10, 'IT');
INSERT INTO test_emp VALUES (101, 'Tom', 10);
INSERT INTO test_emp VALUES (102, 'Jerry', 20);
-- 创建触发器
CREATE OR REPLACE TRIGGER update_emp_deptno
AFTER UPDATE OF deptno ON test_dept
FOR EACH ROW
BEGIN
UPDATE test_emp SET deptno = :new.deptno WHERE deptno = :old.deptno;
END;
/
-- 测试触发器
UPDATE test_dept SET deptno = 20 WHERE deptno = 10;
SELECT * FROM test_emp;
这个测试代码会先创建两个测试表test_dept和test_emp,并向其中插入一些测试数据。然后创建触发器update_emp_deptno,该触发器会在test_dept表中的deptno值被更新时触发,将test_emp表中相应的deptno值同步更新。最后执行UPDATE语句测试触发器是否生效,并查询test_emp表中的数据来检查更新是否正确
原文地址: http://www.cveoy.top/t/topic/cEb6 著作权归作者所有。请勿转载和采集!