首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Oracle笔记】select for update的用法及实例解析

    一、它有什么作用 select for update 是为了在查询时,避免其他用户以该表进行插入,修改或删除等操作,造成表的不一致性。...二、举几个例子: select * from t for update 会等待行锁释放之后,返回查询结果。...select * from t for update nowait 不等待行锁释放,提示锁冲突,不返回结果 select * from t for update wait 5 等待5秒,若行锁仍未释放...,则提示锁冲突,不返回结果 select * from t for update skip locked 查询返回查询结果,但忽略有行锁的记录 【使用格式】 SELECT…FOR UPDATE 语句的语法如下...:   SELECT … FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED]; 其中:   OF 子句用于指定即将更新的列,即锁定行上的特定列

    5.3K40

    Oracle 中的SELECT 关键字(查询、检索)

    SELECT 关键字用法: 检索单个列:select 列名 from 表名; 例:select ename from emp; 检索多个列: select [列1,列2, ......,列N] from 表名; 例:select ename , sal from emp; 检索所有列:select * from 表名; 例:select * from emp; 2....) 如:select ename , sal*12 yearsal from emp; 方式二:列名后加空格再加“别名” (会直接以双引号里的格式显示,一般用于别名中包含空格等特殊符号的情况) 如:select...; 4.distinct关键字(去重):(A) 列:select distinct job from emp; • distinct必须放在开头(select之后) •多字段(多个列)–每个字段不一样才去重...select ename, sal, deptno from emp e where exists (select deptno from dept d where dname in('SALES',

    6.3K10

    深入内核:Oracle数据库里SELECT操作Hang解析

    崔华,网名 dbsnake Oracle ACE Director,ACOUG 核心专家 编辑手记:感谢崔华授权我们独家转载其精品文章,也欢迎大家向“Oracle”社区投稿。...我们都知道在 Oracle 数据库里是“读不阻塞写,写不阻塞读”,那么是否可以认为在正常情况下,select 操作是怎样都能执行,始终不会被 hang 住的呢?...13 SQL> oradebug tracefile_name d:\oracle\admin\cuihua\udump\cuihua_ora_5012.trc 从上述 trace 文件(d:\oracle...SQL> oradebug tracefile_name d:\oracle\admin\cuihua\udump\cuihua_ora_6120.trc 从这个trace文件(d:\oracle\admin...从 trace 文件来看,drop column 并不是不会阻塞 select 操作,只是阻塞的时间点要恰好是Oracle以X模式持有library cache lock时。

    1.8K100

    Oracle数据库学习笔记 (四 —— select 从入门到放弃 【上】)

    SELECT 是 SQL 语言中使用频率最高的语句 SELECT语句具有强大的查询功能 SELECT允许从一个或多个表中选择满足条件的一个或多个行或列的数据 一、基本查询 (select) 基本语法:...select * fom 表名 select * from emp; -- 这句话才 Oracle 数据库中查询是有结果的 select * from dept; 1.2 选择列表 -- 1 最简单的查询...(查询全部列) select * from emp -- 2 指定列查询,用逗号分隔 select empno,ename from emp -- 3 给列起别名 select empno 员工编号...**** select sal from emp where ename='ADAMS' select * from emp where sal>(select sal from emp where ename...select hiredate from emp where ename ='MARTIN' select * from emp where hiredate>(select hiredate from

    1.8K30

    Oracle给Select结果集加锁,Skip Locked(跳过加锁行获得可以加锁的结果集)

    1、通过select for update或select for update wait或select for update nowait给数据集加锁 具体实现参考select for update和select...for update wait和select for update nowait的区别 2、Skip Locked(跳过加锁行获得可以加锁的结果集) Skip locked是oracle 11g引入的...通过skip locked可以使select for update语句可以查询出(排除已经被其他会话加锁了的数据行)剩下的数据集,并给剩下的数据集,进行加锁操作。...然后,在新建一个SQL窗口2(相当于新建一个会话),执行 select * from test8 for update skip locked ?...根据结果集,我们发现ID=1的数据行被排除了 b、测试二 新建SQL窗口1(相当于新建一个会话)代码如下:执行如下语句 select * from test8 for update ?

    3.3K80
    领券