Oracle數據庫批量插入&插入日期類型格式轉換


直接上SQL

INSERT ALL
INTO table(字段1,字段2,字段3) VALUES (字段1值,字段2值,字段3值)
INTO table(字段1,字段2,字段3) VALUES (字段1值,字段2值,字段3值)
INTO table(字段1,字段2,字段3) VALUES (字段1值,字段2值,字段3值)
SELECT 1 FROM DUAL

上面這一段的SQL是一整句,整個執行

 

關於日期類型,我碰到的比較簡單,只要轉換以下就好了

to_date('2002-08-26','yyyy-mm-dd')

 

示例:

--創建表
CREATE T_CREATOR(
    CREATOR_ID NUMBER(32) NOT NULL,
    CREATE_USER VARCHAR2(30),
    CREATE_TIME DATE,
    MODIFY_USER VARCHAR2(30),
    MODIFY_TIME DATE
) 
COMMENT ON TABLE T_CREATOR IS '創建者表';
COMMENT ON COLUMN CREATOR_ID IS '創建者ID';
COMMENT ON COLUMN CREATE_USER IS '創建人';
COMMENT ON COLUMN CREATE_TIME IS '創建時間';
COMMENT ON COLUMN MODIFY_USER IS '修改人';
COMMENT ON COLUMN MODIFY_TIME IS '修改時間';
--創建主鍵
ALTER TABLE T_CREATOR ADD CONSTRAINT PK_T_CREATOR_ID PRIMARY KEY (CREATOR_ID);
--創建自增序列
CREATE SEQUENCE SEQ_T_CREATOR MINVALUE 100 --最小值100
NOMAXVALUE --最大值,不寫則一直疊加
START WITH 100 --起始值
INCREMENT BY 1 --增長基數
NOCYCLE --不循環,一直增加
NOCACHE; -- 不使用緩存
--創建存儲過程
CREATE OR REPLACE FUNCTION GET_SEQ_T_CREATOR RETURN NUMBER IS
  RESULT NUMBER;
BEGIN
  SELECT SEQ_T_CREATOR_ECHO.NEXTVAL INTO RESULT FROM DUAL;
  RETURN(RESULT);
END GET_SEQ_T_CREATOR;
-- 插入數據
INSERT ALL
INTO T_CREATOR(CREATOR_ID,CREATE_USER,CREATE_TIME,MODIFY_USER,MODIFY_TIME) VALUES (GET_SEQ_T_CREATOR 'test',to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'),'test',to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'))
T_CREATOR(CREATOR_ID,CREATE_USER,CREATE_TIME,MODIFY_USER,MODIFY_TIME) VALUES (GET_SEQ_T_CREATOR 'test',to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'),'test',to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'))
T_CREATOR(CREATOR_ID,CREATE_USER,CREATE_TIME,MODIFY_USER,MODIFY_TIME) VALUES (GET_SEQ_T_CREATOR 'test',to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'),'test',to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'))
SELECT 1 FROM DUAL; -- 這一句是存儲過程,必須寫
-- 以上SQL是一整句

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM