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 ?触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户
创建一个测试表:
|
1
2
3
4
5
create
?
table
?
tab_user(
??
id number(11)
primary
?
key
,
??
username
varchar
(50),
??
password
?
varchar
(50)
);
创建一个序列:
复制代码?代码如下:
create sequence my_seq increment by 1 start with 1 nomaxvalue nocycle cache 20;
创建一个触发器:
1
2
3
4
5
6
7
8
9
CREATE
?
OR
?
REPLACE
?
TRIGGER
?
MY_TGR
?
BEFORE
INSERT
?
ON
?
TAB_USER
?
FOR
?
EACH ROW
DECLARE
?
NEXT_ID NUMBER;
BEGIN
?
SELECT
?
MY_SEQ.NEXTVAL
INTO
?
NEXT_ID
FROM
?
DUAL;
?
:NEW.ID := NEXT_ID;
END
;
向表插入数据:
1
2
3
4
insert
?
into
?
tab_user(username,
password
)
values
(
‘admin‘
,
‘admin‘
);
insert
?
into
?
tab_user(username,
password
)
values
(
‘fgz‘
,
‘fgz‘
);
insert
?
into
?
tab_user(username,
password
)
values
(
‘test‘
,
‘test‘
);
COMMIT
;
查询表结果:SELECT * FROM TAB_USER;
(编辑:ASP站长)
【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。