oracle 想让新增的列自增的方法

思路:先增加序列,再创建触发器,然后选择数据增加。

序列中设置起始值,步长,触发器中赋值

insert into table1(ztid,
dddyflmc,
CKID,
bz,
ztflag,
cuser,
uuser,
CDATE,
UDATE,
dddyfzid )  


select ztid,
dddyflmc,
5,
bz,
ztflag,
cuser,
uuser,
TO_DATE('2018-10-15','YYYY-MM-DD'),
TO_DATE('2018-10-15','YYYY-MM-DD'),
dddyfzid from table1 where ckid=4

SELECT * FROM  table1where ckid=5
DELETE table1 where ckid=5


-- 创建序列
create sequence sq_items
-- 自增步长
increment by 1
-- 始值
start with 49 
-- 没有最大值
nomaxvalue 
-- 不循环
nocycle; 
create sequence sq_items2
-- 自增步长
increment by 1
-- 始值
start with 49 
-- 没有最大值
nomaxvalue 
-- 不循环
nocycle; 

DROP TRIGGER itmes_trig;
DROP sequence sq_items;
--创建触发器,将序列与表的字段关联起来,并实现自增
create or replace trigger itmes_trig
before insert on table1
for each row
declare
begin
 select sq_items.nextval into :new.dddyflid from dual;
  select sq_items2.nextval into :new.dddyflbh from dual;
end items_trig;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值