`
wangxuliangboy
  • 浏览: 210640 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

select * from TABLE FOR UPDATE

 
阅读更多

select * from TABLE where id=1 FOR UPDATE

当一个用户发出select..for update的错作准备对返回的结果集进行修改时,如果结果集已经被另一个会话锁定,就是发生阻塞。需要等另一个会话结束之后才可继续执行。

可以通过发出 select… for update nowait的语句来避免发生阻塞,如果资源已经被另一个会话锁定,则会返回以下错误:Ora-00054:resource busy and acquire with nowait specified.

如何跳过被加行级锁的记录呢?

select * from TABLE for update skip locked;

分享到:
评论
2 楼 wangxuliangboy 2009-02-20  
"如何跳过被加行级锁的记录呢"是什么意思?
rmn190 写道

"如何跳过被加行级锁的记录呢"是什么意思? 1, 那些被上锁的行不读出来? 2, 还是被上锁的行读出来,但不让改? 这时若硬会有异常不?

"如何跳过被加行级锁的记录呢"是什么意思?
select * from TABLE for update skip locked;
通过这条语句可以跳过加锁的行..
1 楼 rmn190 2009-02-20  
"如何跳过被加行级锁的记录呢"是什么意思?

1, 那些被上锁的行不读出来?
2, 还是被上锁的行读出来,但不让改? 这时若硬会有异常不?

相关推荐

    mysql SELECT 列 FROM 表 WHERE 条件 选择:select * from table where 范围

    例如,`SELECT * FROM table WHERE 范围`表示从`table`表中选择所有列,并通过`范围`条件过滤结果集。 #### INSERT 语句 - **语法**:`INSERT INTO 表 (field1, field2) VALUES (value1, value2)` - **说明**:用于...

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

    1. **FOR UPDATE**: - 这个子句用于`SELECT`语句中,用于锁定被选择的行直到当前事务结束。 - 当使用`FOR UPDATE`时,默认情况下会锁定表中的所有列。 - 例如,以下SQL语句将会锁定整个表中的每一行,即使只对...

    常用实用的sql语句

    - **联接**:将两个或多个表中的行结合在一起,如:`SELECT table1.*, table2.* FROM table1 INNER JOIN table2 ON table1.key = table2.key;` 以上是关于“常用实用的SQL语句”的详细介绍,涵盖了从数据库创建、...

    sqlserver数据库常用语句基本涵盖日常所需,带中文解释说明

    选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * ...

    arcgis 的sql语句.doc

    2. EXCEPT 运算符:用于从一个表中删除另一个表中的记录,例如 `SELECT * FROM table1 EXCEPT SELECT * FROM table2`。 3. INTERSECT 运算符:用于从两个表中选择公共记录,例如 `SELECT * FROM table1 INTERSECT ...

    经典SQL语句大全

    - **使用ALL关键字**:`SELECT * FROM table1 INTERSECT ALL SELECT * FROM table2;` - **功能**:返回两个表中都存在的数据,并且保留重复项。 **12. 使用外连接** - **LEFT JOIN(左外连接)** - **基础语法*...

    经典sql语句大全基础篇

    SELECT column1 FROM table_name2; (合并两个表中指定列的不重复数据) SQL(Structured Query Language)是用于管理和操作数据库的语言,它提供了多种功能,包括数据查询、数据更新、数据插入以及数据删除等。以下...

    spl基本命令

    - 通过`AS SELECT`定义新表结构: `CREATE TABLE new_table AS SELECT col1, col2 FROM old_table;` 2. **删除表** - 命令格式: `DROP TABLE table_name;` - **作用**: 删除指定的表。 - **示例**: `DROP TABLE ...

    mysql语句大全及用法

    - `LEFT/RIGHT JOIN`: 包含左/右表的所有行,即使没有匹配项,如 `SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;` 7. **分组与聚合函数** - `GROUP BY`: 按列进行分组,`SELECT column FROM ...

    mysql数据库常用语句大全.pdf

    MySQL 数据库常用语句大全 ...SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.id = table2.id; ``` 这些都是 MySQL 数据库中常用的语句,掌握这些语句可以帮助您更好地管理和操作数据库。

    SQL操作全集(个人整理版)

    - UNION:合并两个查询结果并去除重复行,如`SELECT * FROM table1 UNION SELECT * FROM table2`。 - UNION ALL:保留所有行,不去除重复,`SELECT * FROM table1 UNION ALL SELECT * FROM table2`。 - EXCEPT:...

    Oracle学习

    SELECT * FROM table_a RIGHT OUTER JOIN table_b ON table_a.id = table_b.id; ``` - **全外连接**(Full Outer Join) - **功能**:返回左表和右表中的所有行,无论是否匹配;对于未匹配的行,另一侧使用NULL...

    sql用法大全,包含sql多种基本用法

    - **语法**: `SELECT * FROM table1 WHERE table1.column_name IN (SELECT aggregate_function(column_name) FROM table2);` - 示例: `SELECT * FROM a WHERE a.a IN (SELECT MAX(d) FROM b);` 3. **子查询与外部...

    SQL语句大全

    SELECT * FROM table1 INTERSECT ALL SELECT * FROM table2 ``` #### 六、连接操作 - **外连接**: - **左外连接**: 结果集中包括连接表的匹配行以及左表中的所有行。 ```sql SELECT a.a, a.b, a.c, b.c, b.d,...

    mysql入门教程.docxmysql入门教程.docxmysql入门教程.docxmysql入门教程.docx

    SELECT * FROM table1 JOIN table2 ON table1.column_name = table2.column_name; ``` 连接表允许从两个或更多表中检索数据。这里展示了最基本的内连接操作。 ##### 13. 聚合函数 ```sql SELECT COUNT(column_name)...

    sql语句大全

    - `SELECT * FROM table1 INTERSECT SELECT * FROM table2;`:返回两个表共有的记录。 以上就是从标题、描述以及部分代码内容中提炼出的SQL语句相关知识点的详细介绍。这些知识点涵盖了数据库管理中的常见操作,...

    Oracle数据库学习日记-实用性最强的Oracle学习总结.docx

    - `SELECT * FROM (SELECT ROWNUM rnum, t.* FROM (SELECT * FROM table ORDER BY column) t WHERE ROWNUM ) WHERE rnum >= (page_number - 1) * page_size + 1;` **8.7 用查询结果创建新表** - **语法示例:** ...

Global site tag (gtag.js) - Google Analytics