1. 程式人生 > >儲存過程學習-批量插入10000條資料進資料庫

儲存過程學習-批量插入10000條資料進資料庫

--刪除使用者表
DROP TABLE T_PORTAL_USER;

--建立使用者表
CREATE TABLE T_PORTAL_USER
(
     id NUMBER PRIMARY KEY, -- 使用者表示
     username VARCHAR2(24) NOT NULL,-- 使用者名稱
     password VARCHAR2(24) NOT NULL,-- 密碼
    realname VARCHAR2(24) NOT NULL,-- 真實姓名
    sex VARCHAR2(2) DEFAULT '0',-- 性別 "0":Male "1":Female
    registerDate TIMESTAMP NOT NULL,-- 註冊日期
    state VARCHAR2(2) NOT NULL -- 賬號狀態 "0":啟用  "1":登出
)

--刪除使用者表序列
DROP SEQUENCE SEQ_T_PORTAL_USER;

--建立使用者表序列
CREATE SEQUENCE SEQ_T_PORTAL_USER
START WITH 1
INCREMENT BY 1
NOMAXVALUE
CACHE 20

-- 批量新增一萬條使用者
CREATE OR REPLACE PROCEDURE PROC_USER_CREATE_BAT
AS
     startTime VARCHAR2(32);--開始時間
     endTime VARCHAR2(32);--結束時間
BEGIN
   SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss:ff') INTO startTime FROM DUAL;
   DBMS_OUTPUT.PUT_LINE('Start Time: '||startTime);
   FOR i in 1..10000 LOOP
     INSERT INTO T_PORTAL_USER VALUES(SEQ_T_PORTAL_USER.NEXTVAL,'owen'||i,'123456','gekunjin'||i,'0',sysdate,'0');
  END LOOP;
  SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss:ff') INTO endTime FROM DUAL;
  DBMS_OUTPUT.PUT_LINE('End Time: '||endTime);
END PROC_USER_CREATE_BAT;

--測試儲存過程

begin
PROC_USER_CREATE_BAT;
end;