c#+oracle数据库行锁写法问题

问题描述

c#+oracle数据库行锁写法问题

请教各位高手:
我在c#+oracle,里面,想如此操作。当修改某一数据的前,先执行select行锁定,待修改完毕后再解锁。请问在不用存储过程的情况下,程序该如何写呢?

解决方案

最简单的是使用事务。
http://www.cnblogs.com/yanghucheng/archive/2013/01/25/2876492.html
http://happypigs.iteye.com/blog/1576282

解决方案二:

谢谢,能举个实际例子吗

解决方案三:

检索时可以用 select for update 可以参考一下

http://blog.chinaunix.net/uid-23622436-id-3310223.html

时间: 2024-07-31 00:45:59

c#+oracle数据库行锁写法问题的相关文章

快速查出Oracle数据库中锁等待的方法_oracle

通常在大型数据库系统中,为了保证数据的一致性,在对数据库中的数据进行操作时,系统会进行对数据相应的锁定. 这些锁定中有"只读锁"."排它锁","共享排它锁"等多种类型,而且每种类型又有"行级锁"(一次锁住一条记录),"页级锁"(一次锁住一页,即数据库中存储记录的最小可分配单元),"表级锁"(锁住整个表).若为"行级排它锁",则除被锁住的该行外,该表中其它行均可被其它的

拨云见日—深入解析Oracle TX 行锁(上)

在刚刚过去不久的第七届数据技术嘉年华上,性能优化专家怀晓明老师进行了Oracle性能优化的主题分享.在他多年的优化生涯中,一直遵守的优化理念是,平衡是唯一的核心.我们整理了怀老师大会的演讲内容,今天一起来学习,如何在实践中应用这一理念并实现有效的性能优化. 演讲实录 优化的核心思想是平衡.在数据库的运行中,平衡取决于三个方面: 需求:指的是要做什么: 资源:是系统中所能提供的内容: 实现:指的是为了满足需求,应该如何利用提供的资源. 只有三者达到平衡,系统才能够高效地运行. 今天的内容将会通过O

【赠书】拨云见日 - 深入解析Oracle TX行锁(下)

前文中我们详细介绍了TX行锁的概念,危害以及应对方案,并通过双11的一个经典案例进行了解读.今天我们分享另外一个跟TX行锁有关的案例. 案例描述 技术层面: 1.2017年某天,从当天大约10:30开始,A库上出现持续不断的严重行锁. 2.最初应用开发方的处理方式是不断杀会话(且并未通知我方),然而锁的问题一直持续到晚上还存在. 业务层面: 1.选号开户业务受到严重影响,成功开户的业务量仅为平常时刻的30%都不到. 2.业务群各地州市均有反馈该业务处理慢. 首先我们选取故障发生前1小时到处理前最

介绍了Oracle数据库锁的种类及研究

本文通过对Oracle数据库锁机制的研究,首先介绍了Oracle数据库锁的种类,并描述了实际应用中遇到的与锁相关的异常情况,特别对经常遇到的由于等待锁而使事务被挂起的问题进行了定位及解决,并对死锁这一比较严重的现象,提出了相应的解决方法和具体的分析过程. 数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性. 加锁是实现数据库并发控制的一个非常重要的技术.当事务在对某

数据库悲观锁和乐观锁

一.Oracle Oracle数据库悲观锁与乐观锁是本文我们主要要介绍的内容.有时候为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突.为了解决这个问题,大多数数据库用的方法就是数据的锁定. 数据的锁定分为两种方法,第一种叫做悲观锁,第二种叫做乐观锁.什么叫悲观锁呢,悲观锁顾名思义,就是对数据的冲突采取一种悲观的态度,也就是说假设数据肯定会冲突,所以在数据开始读取的时候就把数据锁定住.而乐观锁就是认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数

ORACLE 查询被锁住的对象,并结束其会话的方法_oracle

使用Oracle时,发现有表被锁,又不知道是谁(或者哪个程序)锁的,怎么办 ? 两步走: 1.查找出被锁对象的会话ID和序列号 执行如下SQL: -- 查询出被锁对象,并提供 kill 脚本 SELECT S.SID, S.MACHINE, O.OBJECT_NAME, L.ORACLE_USERNAME, L.LOCKED_MODE, S.OSUSESR, 'ALTER SYSTEM KILL SESSION '''|| S.SID || ', '|| S.SERIAL#||''';' AS

Oracle 数据库针对表主键列并发导致行级锁简单演示_oracle

本文内容 •软件环境 •简单演示 Oracle 数据库并发导致行级锁 本文简单演示针对表主键并发导致的行级锁.并发是两个以上的用户对同样的数据进行修改(包括插入.删除和修改).锁的产生是因为并发.没有并发,就没有锁.并发的产生是因为系统需要,系统需要是因为用户需要. 软件环境 -------------------------------------------------------------------------------- •Windows 2003 Server •Oracle 1

关于Oracle数据库中行迁移/行链接的问题

oracle|链接|数据|数据库|问题 一.行迁移/行链接的介绍 在实际的工作中我们经常会碰到一些Oracle数据库性能较低的问题,当然,引起Oracle数据库性能较低的原因是多方面的,我们能够通过一些正确的设计和诊断来尽量的避免一些Oracle数据库性能不好,Row Migration (行迁移) & Row Chaining (行链接)就是其中我们可以尽量避免的引起Oracle数据库性能低下的潜在问题.通过合理的诊断行迁移/行链接,我们可以较大幅度上提高Oracle数据库的性能. 那究竟什么

oracle 数据库锁类型 TM锁和TX锁

问题描述 oracle 数据库锁类型 TM锁和TX锁 oracle 9i 10g 编程艺术书中对oracle 的锁类型有三种分类:DML锁,DDL 锁 以及 内部锁和闩 针对DML 锁并没有详细的介绍,只说明有TM(表)锁 和TX(行)锁 网上搜索了很多资料,在资料中有具体的分类 问题是:表头说这些锁都是TM锁... 但是我怎么感觉2,3 都属于TX锁呢?2,3 到底是TM 锁还是 TX 锁呢? 解决方案 TX锁和TM锁不是互斥的,DML 锁 先由TM锁获取表级锁,然后TX 在对具体行修改. 这