找回密码
 立即注册

QQ登录

只需一步,快速开始

超级码农
金牌服务用户   /  发表于:2023-6-28 13:14  /   查看:997  /  回复:3
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;

设计器中设置


修改数据时报错


数据库连接:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

3 个回复

倒序浏览
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2023-6-28 13:49:27
来自 2#
您好,可以右击这张表看一下这张表的引用,看看在页面中进行数据表操作之前,有没有其他的命令修改了数据表的数据呢


建议您可以提供个工程文件看一下,外联表的话,可以转成内置然后上传。【外联转内置】外联转内建库的具体步骤:1.复制一份工程文件(复制一份主要是为了避免你将你的原版工程的数据库转成内置后,还要再转回去,比较麻烦);2.打开某一个工程文件,按下ctrl+shift 同时点击“转换内建表按钮”(这个按钮在菜单栏“数据”项下)3.按下ctrl+s保存4.将转换后的这个工程上传即可~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
超级码农
金牌服务用户   /  发表于:2023-6-30 12:21:49
来自 3#
重新建表,然后可以了。
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2023-6-30 13:53:43
地板
好的,问题解决了就好
后边有问题欢迎您继续发帖交流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部