用Navicat向oracle数据库插入数据,如何实现id自增,updateTime自动获取系统当前时间

本文介绍了如何在Oracle数据库中使用Navicat工具导入CSV文件,并通过创建序列和触发器实现id字段自增,同时在插入数据时自动设置updateTime为系统当前时间。

我在操作oracle数据库时,需要完成一个小的需求,就是将提供给我的csv文件, 其中的字段内容,对应导入到oracle表中。

该csv文件相对于表要缺少两个字段(id,updateTime)。我思路是:在测试库中新建一张表,恰巧是csv表中的几个字段,通过Navicat工具的“导入向导”功能,将csv文件内容倒进测试库的表中。

csv文件:

 

导入成功后,我可以拿到这张表的“数据结构和数据”,将拿到的sql文件利用Notepad++打开。截取其中的数据sql部分,进行字段填充完善,使其变为能直接插入到现网的insert into 语句。

插入前,还需要考虑下面的几点。

1、id自增,或者自动生成都可以

2、updateTime要是系统当前事件

围绕上面问题,我的思路是,从sql入手。id自增,可以创建一个触发器,使其让id随着序列的增加而增加(序列提前创好)。updateTime直接可以在插入语句中填充成sysdate就可以。

 

id自增的步骤:

1、创建自增序列

CREATE SEQUENCE RM_LINK_OLTTEST_SEQUENCE
INCREMENT BY 1 -----{自增量为1}
START WITH 1 ----------{从1开始自增}
NOMINVALUE
NOMAXVALUE
NOCYCLE

2、查看自增序列是否创建成功

select  RM_LINK_OLTTEST_SEQUENCE.NEXTVAL from dual;

 

3、创建触发器

 

CREATE OR REPLACE TRIGGER RM_LINK_OLTTEST_SEQ_TRIGGER
   BEFORE INSERT or UPDATE or DELETE ON RM_LINK_OLTTEST 
   FOR EACH ROW
 BEGIN
   SELECT RM_LINK_OLTTEST_SEQUENCE.NEXTVAL INTO :NEW.ID FROM DUAL;
END TR_FCBOOK;

4、插入一条样例数据

insert into RM_LINK_OLTTEST values(RM_LINK_OLTTEST_SEQUENCE.NEXTVAL,'张三','234','324','21','423','tres',sysdate);

 

测试成功插入该条数据,然后拿到完整sql,插入到正式库中的那张表中。

 

 

------------感谢看完,期待交流----------------

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值