`
WindyQin
  • 浏览: 32415 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Oracle编程,遇到并发的情况处理

 
阅读更多

在实际业务处理,特别是在统计报表数据时,经常会遇到并发的情况。
在实际工作中,我遇到过类似的情况,大概情况是这样的:
在统计报表的时候需要,用户前台点击生成,当2个用户登陆,同时点击报表生成时,会出现报表数据重复的现在。这当然是,一个用户点击生成时,后台数据还没有完全跑完,然后有一个用户点击,又重新跑刚才的同一个过程,并且入参都一样,这就导致重复数据的出现。
现在想到一个处理方法如下:


create table tb_test (is_yx varchar2(1));


select t.is_yx into vi_result1
from tb_test t;


if vi_result1=1 then
loop
select t.is_yx into vi_result1
from tb_test t;
if vi_result1=1 then
select sysdate into start_time from dual;
loop
select sysdate into end_time from dual;
exit when (end_time-start_time)*24*60*60 >=60;
end loop;
else
exit;
end if;
end loop;
end if;


在过程里,处理数据前加上该段判断,紧接着
update tb_test t set t.is_yx=1;
commit;


数据处理完再做如下处理
update tb_test t set t.is_yx=0;
commit;


这样就可以一直等待该数据处理完再处理下一个

分享到:
评论

相关推荐

    《精通Oracle 10g Pro*C/C++编程》源代码与学习笔记

    6. **连接管理**:创建和释放数据库连接是Oracle编程的基础。了解如何使用环境、会话(session)和游标的结构,以及如何在多线程程序中安全地管理这些资源。 7. **性能优化**:通过批处理、缓存技术、绑定变量和预...

    Oracle数据库系统应用实例集锦与编程技巧

    文件100.001至100.010可能包含了上述各方面的实例和具体操作步骤,通过学习这些实例,读者可以更深入地理解Oracle数据库的使用和编程,解决实际工作中遇到的问题,提升数据库管理和开发的水平。无论是数据库管理员...

    Oracle 专家高级编程

    Oracle专家高级编程主要涵盖Oracle数据库系统的深度理解和高效利用,包括但不限于数据库设计、SQL优化、存储结构、并发控制、性能监控、故障排查以及高级特性如分区、物化视图、存储过程、触发器等。以下是对这些...

    Oracle9I ProCC++编程指南

    C++程序员将学习如何使用Oracle的异常处理语法,编写健壮的异常处理代码,确保程序在遇到问题时能够优雅地恢复或退出。 通过阅读《Oracle9I Pro C++编程指南》,开发者不仅可以掌握Oracle9i与C++的结合使用,还能...

    面试精选编程规范精选(java、oracle)

    面试过程中,Java开发者可能会遇到关于数据结构与算法、JVM内存模型、多线程并发控制、集合框架、设计模式等方面的问题。理解基本的排序算法(如冒泡、选择、插入、快速、归并排序)和查找算法(如二分查找、哈希...

    《Oracle9i&10g编程艺术》完整英文版PDF(apress.expert.oracle.database.architecture.9i.and.10g.programming.techniques.and.solutions.sep.2005.)

    4. **并发控制**:探讨Oracle的锁定机制,如行级锁、表级锁,以及多用户环境下并发访问的数据一致性问题。 5. **数据库安全**:讨论用户管理、权限控制、角色、审计等安全策略,帮助读者理解和设置安全的最佳实践。...

    navicat连接oracle 万能oci

    OCI提供了全面的功能,包括数据查询、事务处理、并发控制等,是连接Oracle数据库的重要组件。在Navicat中,通过配置合适的OCI文件,能够确保软件与各种Oracle数据库版本的兼容性。 描述中提到的“支持几乎所有版本...

    oracle API

    PL/SQL是Oracle特有的编程语言,它结合了SQL的查询功能与过程式编程语言的控制结构。PL/SQL包是预定义的一组相关函数和过程,例如DBMS_OUTPUT用于在服务器端打印消息,DBMS_LOCK用于处理并发控制,而DBMS_METADATA则...

    Oracle Exception汇总(自定义Oracle异常)

    Oracle数据库在处理错误和异常时有一套完整的机制,这些异常主要分为预定义异常和自定义异常。预定义异常是Oracle系统已经内置的一些常见错误,它们都有对应的错误代码(ORA-xxx)。下面,我们将深入探讨一些常见的...

    Oracle PLSQL详解 宝典

    《Oracle PLSQL详解 宝典》是一本专为IT专业人士准备的深度学习Oracle数据库中的PL/SQL编程语言的指南。本书旨在帮助读者深入理解PL/SQL的各个方面,从而能够熟练地利用这一强大的工具来解决实际工作中遇到的问题。...

    oracle 数据库操作处理笔记

    Oracle采用多版本并发控制(MVCC)来处理多个用户同时访问数据库的情况。事务是数据库操作的基本单位,了解事务的ACID属性(原子性、一致性、隔离性和持久性)和提交、回滚、保存点等概念对保证数据一致性至关重要。...

    OracleHelper—数据库操作类

    8. **批量操作**:对于需要大量插入或更新数据的情况,OracleHelper可能会提供批量操作的方法,提高数据处理速度。 9. **性能优化**:为了提升性能,OracleHelper可能包含一些优化策略,比如缓存查询结果、延迟加载...

Global site tag (gtag.js) - Google Analytics