IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → ORACLE同步自動化測試

ORACLE同步自動化測試

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  1.創(chuàng)建表

  -- Create table

  create table T_OBJECT

  (

  ID NUMBER not null,

  OWNER??? VARCHAR2(30),

  OBJECT_NAME??? VARCHAR2(128),

  SUBOBJECT_NAME VARCHAR2(30),

  OBJECT_ID????? NUMBER,

  DATA_OBJECT_ID NUMBER,

  OBJECT_TYPE??? VARCHAR2(19),

  CREATED? DATE,

  LAST_DDL_TIME? DATE,

  TIMESTAMP????? VARCHAR2(19),

  STATUS?? VARCHAR2(7),

  TEMPORARY????? VARCHAR2(1),

  GENERATED????? VARCHAR2(1),

  SECONDARY????? VARCHAR2(1)

  )

  tablespace USERS

  pctfree 10

  initrans 1

  maxtrans 255

  storage

  (

  initial 16

  minextents 1

  maxextents unlimited

  );

  -- Create/Recreate primary, unique and foreign key constraints

  alter table T_OBJECT

  add constraint PK_T_OBJECT primary key (ID)

  using index

  tablespace USERS

  pctfree 10

  initrans 2

  maxtrans 255

  storage

  (

  initial 64K

  minextents 1

  maxextents unlimited

  );

  -- Create table

  create table T_COUNT

  (

  TNAME VARCHAR2(100),

  O???? VARCHAR2(20),

  C???? NUMBER

  )

  tablespace USERS

  pctfree 10

  initrans 1

  maxtrans 255

  storage

  (

  initial 64

  minextents 1

  maxextents unlimited

  );

  2.創(chuàng)建日志表

  -- Create table

  create table LOG_T_OBJECT

  (

  N_ID? NUMBER(23) not null,

  ID??? NUMBER(23) not null,

  O???? VARCHAR2(20) not null,

  CHANGE_DATE TIMESTAMP(6) not null

  )

  tablespace USERS

  pctfree 10

  initrans 1

  maxtrans 255

  storage

  (

  initial 64

  minextents 1

  maxextents unlimited

  );

#p#副標(biāo)題#e#

  -- Create/Recreate primary, unique and foreign key constraints

  alter table LOG_T_OBJECT

  add constraint PK_LOG_T_OBJECT primary key (N_ID)

  using index

  tablespace USERS

  pctfree 10

  initrans 2

  maxtrans 255

  storage

  (

  initial 64K

  minextents 1

  maxextents unlimited

  );

  3.創(chuàng)建存儲

  create or replace procedure pr_t_OBJECT(

  i_rows number :=150????? --每秒跑業(yè)務(wù)條數(shù)

  ) is

  v_rand number;

  v_rand2 number;

  v_count number;

  v_start number :=1;

  v_end number :=1000000;

  begin

  for i in 1..i_rows

  loop

  select TRUNC(dbms_random.value(v_start,v_end)) into v_rand from dual;

  select count(*) into v_count from t_OBJECT where id=v_rand;

  if v_count=0 then

  insert into t_OBJECT select v_rand, t.* from all_OBJECTs t where rownum=1;

  else

  select TRUNC(dbms_random.value(v_start,v_end)) into v_rand2 from dual;

  if mod(v_rand2,2)=0 then? --刪除操作

  delete t_OBJECT where id=v_rand;

  else --update操作

  update t_OBJECT set OBJECT_name = 'update后的值' where id = v_rand;

  end if;

  end if;

  --commit;

  --dbms_lock.sleep(1/i_rows);

  end loop;

  commit;

  end pr_t_OBJECT;

  4.創(chuàng)建觸發(fā)器

  create or replace trigger tr_count_t_object

  after insert or update or delete on t_object

  for each row

  declare

  -- local variables here

  begin

  IF INSERTING THEN

  insert into log_t_object(n_id, id, o, change_date)

  values (SEQ_T_OBJECT.nextval, :new.id, 'I', systimestamp);

  ELSIF DELETING THEN

  insert into log_t_object(n_id, id, o, change_date)

  values (SEQ_T_OBJECT.nextval, :old.id, 'D', systimestamp);

  else

  insert into log_t_object(n_id, id, o, change_date)

  values (SEQ_T_OBJECT.nextval, :new.id, 'U', systimestamp);

  end if;

  end tr_count_t_object;

  5.創(chuàng)建序列

  -- Create sequence

  create sequence SEQ_T_OBJECT

  minvalue 1

  maxvalue 999999999999999999999999999

  start with 1

  increment by 1

  cache 100;

  6.創(chuàng)建JOB

  declare

  v_job int;

  begin

  dbms_job.submit(job => v_job,

  what????? => 'PR_T_OBJECT();',

  next_date => sysdate,

  interval? => 'sysdate + (1/(24*60*60))');?? --設(shè)置間隔為1秒

  commit;

  end;

  /

關(guān)鍵詞標(biāo)簽:ORACLE同步

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法