Oracle 数据库,按照帮助文档“外联数据库并发控制”章节,为表设置 rowversion 字段,建立触发器,即使只有一个用户,第一次登录编辑时,仍然提示"当前行已被其他人编辑,本次编辑将被取消"
--建表
create table hfma.ma_bdgt_lines_hq_hr
(
line_id number not null,
budget_id number not null,
budget_org_code varchar2(30) not null,
py1to9_stat_hc NUMBER,
py_stat_hc number,
stat_hc number,
stat_66020101 number ,
stat_66020199 number ,
stat_660202 number,
stat_660203 number,
stat_660204 number,
stat_66020501 number,
stat_66020502 number,
stat_66020503 number,
stat_66020504 number,
stat_66020505 number,
stat_66020506 number,
stat_660208 number,
rowversion timestamp default current_timestamp not null
constraint pk_ma_bdgt_lines_hq_hr primary key(line_id)
) tablespace hf_ma_data;
--建触发器
create or replace trigger ma_bdgt_lines_hq_hr_t1
before update
on ma_bdgt_lines_hq_hr
for each row
begin
:new.rowversion := current_timestamp;
end ma_bdgt_lines_hq_hr_t1;
设计器中设置
修改数据时报错
数据库连接:
|