`
尘枉_yjava
  • 浏览: 71286 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

数据库 for update of 和 for update区别。

 
阅读更多
对比区别:

  select * from TTable1 for update 锁定表的所有行,只能读不能写

select * from TTable1 where pkid = 1 for update 只锁定pkid=1的行

select * from Table1 a join Table2 b on a.pkid=b.pkid for update 锁定两个表的所有记录

  select * from Table1 a join Table2 b on a.pkid=b.pkid where a.pkid = 10 for update 锁定两个表的中满足条件的行



   select * from Table1 a join Table2 b on a.pkid=b.pkid where a.pkid = 10 for update of a.pkid 只锁定Table1中满足条件的行



for update 是把所有的表都锁定

for update of 根据of 后表的条件锁定相对应的表



如果加了for update后 该语句用来锁定特定的行(如果有where子句,就是满足where条件的那些行)。当这些行被锁定后,其他会话可以选择这些行,但不能更改或删除这些行,直到该语句的事务被commit语句或rollback语句结束为止。
分享到:
评论

相关推荐

    数据库oracle for update of和for update的区别

    数据库oracle锁: for update of和for update的区别,解释得很清楚,有很多详细例子说明。

    Mysql Update批量更新的几种方式

    通常情况下,我们会使用以下SQL语句来更新字段值: ...for x in xrange(10): sql = ''' UPDATE mytable SET myfield='value' WHERE other_field='other_value'; ''' 这种方法并没有什么任何错误,

    SQL Server数据库实验_存储过程与触发器设计.docx

    2、 触发器分AFTER/FOR和INSTEAD OF两种类型:AFTER/FOR类型的触发器是在相应的触发语句(insert、delete、update)执行完后被触发的。如果触发语句对应的表上有完整性约束,这些完整性约束必须不违背时,相应的触发...

    Oraclet中的触发器

    行触发器和语句触发器的区别表现在:行触发器要求当一个DML语句操走影响数据库中的多行数据时,对于其中的每个数据行,只要它们符合触发约束条件,均激活一次触发器;而语句触发器将整个语句操作作为触发事件,当它...

    数据库实验五.docx

    2、说明上面例子中使用instead of和用for触发器时进行编码的主要区别。 Instead of触发器用来代替通常的触发动作,即当对表进行INSERT、UPDATE 或 DELETE 操作时,系统不是直接对表执行这些操作,而是把操作内容交给...

    perl数据库编程(英语版)

    That's what databases are for, and that's what this book is about - using Perl to search, access, and update information in databases, whether it's a record of users accessing your system, an index ...

    VB编程资源大全(英文源码 数据库)

    Two methods for Selects are shown <END><br>10 , Employees.zip This is a database project, for storing employees data.<END><br>11 , DBProject2.zip New version of DBProject. Allows you view, ...

    mysql示例数据库 employee

    mysql示例数据库 employee,这个大家也可以到github官网下载。 https://github.com/datacharmer/test_db test_db A sample database with an integrated test suite, used to test your applications and database ...

    oracle数据库经典题目

    数据库模式与用户之间的区别在于:用户是数据库的使用者和管理者,用户具有帐户状态、访问权限和操作权限等属性。模式是一系列逻辑数据结构或对象的集合,是数据库中对象的组织和管理单位。 2. 简要游标的作用和...

    宾馆住宿管理系统数据库

    宾馆管理系统数据库文件 -- -- Server version 5.0.45-community-nt /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; ...

    数据库操作语句大全(sql)

    数据库操作语句大全(sql) 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_...

    Absolute Database for D7

    这个数据库看性能不错,哪位能破解一下。Overview Absolute Database: Delphi database with SQL support.Absolute Database lets you forget the Borland Database Engine (BDE). This BDE replacement is the ...

    asp连接数据库代码实例

    连接数据库代码实例 1,连接数据库代码 文件名称 conn.asp 所有访问数据库的文件都调用此文件<!--#include file=\"Conn.asp\"--> db=\"data/data.mdb\" \'数据库存放目录 on error resume next set conn=server...

    数据库基础

    §1.3.1 SQL和SQL*PLUS的差别 25 §1.3.2 PL/SQL语言 27 §1.4 登录到SQL*PLUS 27 §1.4.1 UNIX环境 27 §1.4.2 Windows NT和WINDOWS/2000环境 29 §1.5 常用SQL*PLUS 附加命令简介 32 §1.5.1 登录到SQL*PLUS 32 §...

    数据库工具类DatabaseUtil.java

    * Description: 将大部分的数据库操作放入这个类中, 包括数据库连接的建立, 自动释放等. * * * @author beansoft 日期: 2004年04月 * @version 2.0 */ public class DatabaseUtil { /** 数据库连接 */ ...

    更新yum 源 [root@bogon ~]# yum -y update.docx

    Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select User from user; +--------+ | User | +-...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    16.3. 定制SQL用来create,update和delete 16.4. 定制装载SQL 17. 过滤数据 17.1. Hibernate 过滤器(filters) 18. XML映射 18.1. 用XML数据进行工作 18.1.1. 指定同时映射XML和类 18.1.2. 只定义XML映射 18.2...

    Oracle8i_9i数据库基础

    §1.3.1 SQL和SQL*PLUS的差别 25 §1.3.2 PL/SQL语言 27 §1.4 登录到SQL*PLUS 27 §1.4.1 UNIX环境 27 §1.4.2 Windows NT和WINDOWS/2000环境 29 §1.5 常用SQL*PLUS 附加命令简介 32 §1.5.1 登录到SQL*PLUS 32 §...

    关于游标使用sql

    测试3条数据 CREATE TABLE test_main ( id INT, value VARCHAR(10), PRIMARY KEY(id) ...INSERT INTO test_main(id, value) VALUES (1, 'ONE');...INSERT INTO test_main...[ FOR UPDATE [ OF column_name [ ,...n ] ] ]

    zeosdbo-7.2.14(2022-09-27),当前最新的开源控件支持SQLite

    zeosdbo-7.2.14,开源数据库控件,(Last Update: 2022-09-27),The ZeosLib is a set of database components for MySQL, MariaDB, PostgreSQL, Interbase, Firebird, MS SQL Server, SAP Adaptive Server ...

Global site tag (gtag.js) - Google Analytics