首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

select for updateselect for update waitselect for update nowait的区别

他们三个共同点: 当使用select for update 或者select for update wait或者........会话二的update语句执行成功 2、select for update nowait for  updatefor update nowait都会对查询到的当前结果集进行加锁,所不同的是,当有另外的会话在修改当前结果集中的数据...3、select for update wait 它也会对查询到的结果集进行加锁,select for update wait与select for update nowait不同的地方是,当有另外的会话对它的查询结果集中的某一行数据进行了加锁...没有进行commit操作,此时对test6test8中的ID>3的数据行都进行了加锁,测试代码如下: 新建一个会话,执行以下语句: select * from test6 for update skip...比对测试结果,发现在OF子句的作用下,oracle对同时满足where子句(设置要加锁的数据行)OF子句(主要设置加锁的表)的数据行进行了加锁。

2.4K100
您找到你想要的搜索结果了吗?
是的
没有找到

mysql 多表查询更新_MySQL update select 多表关联查询更新

在遇到需要update设置的参数来自从其他表select出的结果时,需要把updateselect结合使用,不同数据库支持的形式不一样,在mysql中如下: update A inner join(select...name from B) c on A.id = c.id set A.name = c.name; 根据AB两个表的id相同为条件,把A表的name修改为B的sql语句就如上所示 参考文章: * [UPDATE...从SELECT使用SQL Server – 代码日志](https://codeday.me/bug/20170212/192.html) * [MySQL多表关联UPDATE操作 – jsyandxys...的博客 – CSDN博客](https://blog.csdn.net/jsyandxys/article/details/83584410) * [mysql中updateselect结合使用 –...与 select 的相爱相杀 – 知乎](https://zhuanlan.zhihu.com/p/23011325) 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

3.8K10

数据库内核分析之GPDB and PostgreSQL Portal

可优化语句 包括DML,像insert/update/select等语句,这类语句特点是查询满足条件的元组返回给用户或者元组操作后写入磁盘,之所以称之为可优化语句是因为这类语句通常会被优化器进行重写与优化...select * from t1; 包含一个INSERT/UPDATE/DELETE查询,且带RETURNING条件。...如下图所示:输入为查询计划链表,针对PORTAL_ONE_SELECT、PORTAL_ONE_MOD_WITH、PORTAL_UTIL_SELECT、PORTAL_ONE_RETURNING都是要求一个计划...portal策略执行路径如下: PORTAL_ONE_SELECT set result = portal->atEnd PORTAL_ONE_RETURNING|PORTAL_ONE_MOD_WITH...PORTAL_ONE_SELECT 调用DoPortalRunFetch PORTAL_ONE_RETURNING|PORTAL_ONE_MOD_WITH|PORTAL_UTIL_SELECT 首先判断

69220

详解一条查询select语句更新update语句的执行流程

前面几篇MySQL系列的文章介绍了索引,事务锁相关知识,那么今天就让我们来看看当我们执行一条select语句一条update语句的时候,MySQL要经过哪些步骤,才能返回我们想要的数据。...一条select语句的执行流程 MySQL从大方向来说,可以分为 Server 层存储引擎层。...这么做的好处是服务端无需存储太多结果,从而减少内存消耗(这个操作可以通过sql _buffer_result来提示优化器,上文说的force index,straight_join一样都是人为强制优化器执行我们想要的操作...update语句的执行流程 前面铺垫了这么多,主要是想让大家先理解redo logbig log这两个概念,因为更新操作离不开这两个文件,接下来我们正式回到正题,一条update语句到底是如何执行的,...总结 本文主要分析了selectupdate语句的执行过程,而在分析update语句执行过程中,又简单介绍了redo logbin log相关概念,这一部分内容在本文中没有过多深入的讲解,仅仅只是为了让大家去理解更新流程而做了简单的介绍

2.1K20

SQL优化(五) PostgreSQL (递归)CTE 通用表表达式

WITH语句作为一个辅助语句依附于主语句,WITH语句主语句都可以是SELECT,INSERT,UPDATE,DELETE中的任何一种语句。...-01' RETURNING * ) INSERT INTO products_log SELECT * FROM moved_rows; 本例通过WITH中的DELETE语句从products表中删除了一个月的数据...,并通过RETURNING子句将删除的数据集赋给moved_rows这一CTE,最后在主语句中通过INSERT将删除的商品插入products_log中。...如果WITH里面使用的不是SELECT语句,并且没有通过RETURNING子句返回结果集,则主查询中不可以引用该CTE,但主查询WITH语句仍然可以继续执行。...result.name || ' > ' || origin.name FROM result JOIN chinamap origin ON origin.pid = result.id 结果集working

2.5K60
领券