mock db data

 CREATE TABLE "TLSPID"."TEST" 
   (	"ID" NUMBER(7,0) NOT NULL ENABLE, 
	"NAME" VARCHAR2(20 BYTE), 
	"MOD_DATE" DATE, 	
	 CONSTRAINT "TEST_PK" PRIMARY KEY ("ID")
   )

CREATE OR REPLACE TRIGGER "TLSPID"."TEST_UPDATE" before
  UPDATE ON test FOR EACH row BEGIN   
SELECT sysdate INTO :new.MOD_DATE FROM dual;



create or replace 
PROCEDURE TestProc
IS
  CPT NUMBER;
  I   integer;
  endIndex integer;
BEGIN
  /*
  plog.info('this select raise ORA-01403:No Data Found');
  select id into cpt from tlog where id = -1;
  exception
  WHEN OTHERS THEN
  plog.error;  -- default message is SQLCODE SQLERRM
  */
  SELECT MAX(ID) + 1 INTO I FROM TEST;  
  IF I IS NULL THEN
    I := 0;
  end if;
  endIndex := i + 5;
  LOOP
    /* 插入数据 */
    INSERT
    INTO test
      (
        id, name, mod_date
      )
      VALUES
      (
        i, 'name' || i, sysdate
      );
    /* 参数递增 */
    I := I + 1;
    
    if(MOD(I, 10000) = 0) then
      commit;
    end if;
    
    /* 停止条件 */
    EXIT
  WHEN i > endIndex;
  END LOOP;
  COMMIT;
END;

猜你喜欢

转载自zgq456.iteye.com/blog/2021369
DB