create table table_name1(id varchar2(40),bm varchar2(20),mc varchar2(20));
create table table_name2(id varchar2(40),编码 varchar2(20),名称 varchar2(20));create table 数据传输日志( id varchar2(36),op_date date,table_name varchar2(40),c_sqlcode number(18),c_sqlerror varchar2(255),tab_id varchar2(255) )create or replace trigger tr_insert
before insert on table_name1
for each row
declare
ls_sqlerror varchar2(500);
li_code number(18);
-- local variables here
begin
Insert Into table_name2( ID,编码,名称) Values (:New.id,:New.bm,:New.mc );
exception
when others then
ls_sqlerror := sqlerrm;
li_code := sqlcode;
insert into 数据传输日志(id,op_date,TABLE_NAME,c_SQLCODE,C_SQLERROR,tab_id)
values (:new.id,sysdate,'zlxmfl',li_code,ls_sqlerror,:new.id);
end tr_insert;
我在pB里面用的 datawindow 100条提交一次,但是我再table_name2 表里面只能找到一条数据。在数据传输日志里面找到了99条数据,其中c_sqlerror都是 违反唯一约束性。
请问这个是为什么呢?
create table table_name2(id varchar2(40),编码 varchar2(20),名称 varchar2(20));create table 数据传输日志( id varchar2(36),op_date date,table_name varchar2(40),c_sqlcode number(18),c_sqlerror varchar2(255),tab_id varchar2(255) )create or replace trigger tr_insert
before insert on table_name1
for each row
declare
ls_sqlerror varchar2(500);
li_code number(18);
-- local variables here
begin
Insert Into table_name2( ID,编码,名称) Values (:New.id,:New.bm,:New.mc );
exception
when others then
ls_sqlerror := sqlerrm;
li_code := sqlcode;
insert into 数据传输日志(id,op_date,TABLE_NAME,c_SQLCODE,C_SQLERROR,tab_id)
values (:new.id,sysdate,'zlxmfl',li_code,ls_sqlerror,:new.id);
end tr_insert;
我在pB里面用的 datawindow 100条提交一次,但是我再table_name2 表里面只能找到一条数据。在数据传输日志里面找到了99条数据,其中c_sqlerror都是 违反唯一约束性。
请问这个是为什么呢?
http://www.oracle.com/technology/global/cn/pub/articles/oracle-database-11g-top-features/11g-efficient-coding.html