oracle中的trigger
发布时间:2021-02-23 06:27:25 所属栏目:站长百科 来源:网络整理
导读:https://blog.csdn.net/indexman/article/details/8023740/ https://www.cnblogs.com/sharpest/p/7764660.html https://www.cnblogs.com/yaobolove/p/4781971.html ?触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户
3)、创建触发器,它将映射emp表中每个部门的总人数和总工资
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
CREATE
?
TABLE
?
dept_sal
AS
SELECT
?
deptno,
COUNT
(empno) total_emp,
SUM
(sal) total_sal
FROM
?
scott.emp
GROUP
?
BY
?
deptno;
CREATE
?
OR
?
REPLACE
?
TRIGGER
?
EMP_INFO
?
AFTER
?
INSERT
?
OR
?
UPDATE
?
OR
?
DELETE
?
ON
?
scott.EMP
DECLARE
?
CURSOR
?
CUR_EMP
IS
??
SELECT
?
DEPTNO,
COUNT
(EMPNO)
AS
?
TOTAL_EMP,
SUM
(SAL)
AS
?
TOTAL_SAL
FROM
?
scott.EMP
GROUP
?
BY
?
DEPTNO;
BEGIN
?
DELETE
?
DEPT_SAL;
?
FOR
?
V_EMP
IN
?
CUR_EMP LOOP
??
??
??
INSERT
?
INTO
?
DEPT_SAL
??
VALUES
???
(V_EMP.DEPTNO,V_EMP.TOTAL_EMP,V_EMP.TOTAL_SAL);
?
END
?
LOOP;
END
;
INSERT
?
INTO
?
emp(empno,deptno,sal)
VALUES
(
‘123‘
,
‘10‘
,10000);
SELECT
?
*
FROM
?
dept_sal;
DELETE
?
EMP
WHERE
?
empno=123;
SELECT
?
*
FROM
?
dept_sal;
显示结果如下:
(编辑:ASP站长)
【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。