儲存過程學習-批量插入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;