用Navicat向oracle數據庫插入數據,如何實現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,插入到正式庫中的那張表中。

 

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章