加入收藏
首页
关于我们
新闻动态
服务领域
解决方案
经典案例
技术文章
联系我们
IT一体化服务
您现在所在的位置:
主页
>
技术文章
>
ORACLE
>
ORACLE
Oracle表触发器并写入序列值
来源:未知 作者:admin 人气:
时间:2014-02-07
Java代码
--创建 序列 seq_1
drop sequence seq_1;
create sequence seq_1
minvalue
1
maxvalue
999999999999999999999999999
start with
100000000000000
increment by
1
nocache;
drop table test_Depart;
create table test_Depart (
did varchar2(
32
) not
null
primary key,
dname varchar2(
32
) not
null
);
--建解发器代码为
create or replace trigger tri_test_id
before insert on test_Depart --test_Depart 是表名
for
each row
declare
nextid varchar2(
32
);
begin
IF :
new
.did IS NULL or :
new
.did=
0
THEN --did是列名
--取得年度
select to_char(sysdate,
'yyyy'
)||seq_1.nextval
into nextid
from sys.dual;
:
new
.did:=nextid;
end
if
;
end tri_test_id;
--
for
test
--select to_char(sysdate,
'yyyy'
)||seq_1.nextval from dual;
--insert into test_Depart(dname) values(
'部门1'
);
或者
Java代码
--建解发器代码为
create or replace trigger tri_test_id
before insert on test_Depart --test_Depart 是表名
for
each row
declare
nextid number;
begin
IF :
new
.did IS NULL or :
new
.did=
0
THEN --did是列名
select seq_1.nextval
into nextid
from sys.dual;
:
new
.did:=nextid;
end
if
;
end tri_test_id;
或者
Java代码
--建解发器代码为
create or replace trigger tri_test_id
before insert on test_Depart --test_Depart 是表名
for
each row
declare
nextid number;
begin
IF :
new
.did IS NULL or :
new
.did=
0
THEN --did是列名
select to_number(to_char(sysdate,
'yyyymmddHH24miss'
))
into nextid
from sys.dual;
:
new
.did:=nextid;
end
if
;
end tri_test_id;
上一篇:没有了
下一篇:
Oracle 查询锁表和解锁
用友
IBM
oracle
联想
华为
思科
关于我们
新闻动态
服务领域
解决方案
经典案例
技术文章
联系我们
IT一体化服务
公司地址:广州市天河区燕岭路95号四楼404室A20 邮编:510000
电话:020-31600147 传真:020-31600147
Copyright © 2015-2024 yunyuns.cn 云云(广州)科技有限公司 版权所有 ICP备13000495号-10