Sql之for update

for updateselect from xxxxxxx where namemc=‘筛查‘ for update那是一种行级锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它用户想更新该表中的数据行,则也必须对该表施加行级锁.即使多个用户对一个表均使用了共享更新,但也不允许两个事务同时对一个表进行更新,真正对表进行更新时,是以独占方式锁表,一直到提交或复原该事务为止。行锁永远是独占方式锁。只有当出现如下之一的条件,便释放共享更新锁:(1)、执行提交(COMMIT)语句;(2)、退出数据库(LOG OFF)(3)、程序停止运行。

原文地址:https://www.cnblogs.com/codeByWei/p/11143397.html

时间: 2024-10-06 22:08:14

Sql之for update的相关文章

关于SQL中的Update语句

今天在SQL数据库操作时需要将一张表中的数据Update到另一张表中去, 可是用我以往的写法确怎么也不能成功.代码如下: update table1 a set a.Col1=b.Col2 from table2 b where a.c=b.c 上面的写法似乎是在Oracle的环境下可以实现的, (具体没有验证过) 反正在SQL Server中是无法执行. 上网找了一下终于找到了解决方法, 如下: Oralce和DB2都支持的语法: UPDATE A  SET (A1, A2, A3) = (S

ECSHOP后台SQL查询提示错误 this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT

一). 首先说一下错误现象: 市面上流行的绝大部分ECSHOP模板,安装的时候都需要执行一段或几段SQL语句来修改数据结构或者初始化一些数据. 大多数ECSHOP管理员为了省事,都会通过 “ECSHOP后台>数据库管理 >SQL查询” 来执行这些SQL语句. 这时问题就来了,当你粘贴进SQL语句,点“提交查询”时,系统就会报出下面的错误: this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT,REPLACE,SE

SQL中使用UPDATE更新数据时一定要记得WHERE子句

我们在使用 SQL 中的 UPDATE 更新数据时,一般都不会更新表中的左右数据,所以我们更新的数据的 SQL 语句中会带有 WHERE 子句,如果没有WHERE子句,就回更新表中所有的数据,在 mysql 中,我们可以设置sql_safe_updates 这个自带的参数来解决,,当该参数开启的情况下,我们必须在 UPDATE 语句后携带 WHERE 条件,否则就会报错.set sql_safe_updates=1; 表示开启该参数.下面是开启sql_safe_updates参数后不带  WHE

sql example 6 -- update

sql example 6 – update sql example 6 – update sql create sql insert insert into user1 (id, username) values (99, 'test'); update user1 set username='I am 99' where id=99; select * from user1;

C#根据反射生成sql语句(Update语句)

今天有人问我Update语句怎么搞,想了一下大致思路就是用特性去标识一下,主键,然后再去用反射的方式拼sql语句. 想着晚上再写,又想了想的确好久没写博客了,也好久没正儿八经写代码了,就顺手给写了下来. 一.主键特性 /// <summary> /// 主键特性(在实体类的上方加这个特性,指定该类的主键名称) /// </summary> [AttributeUsage(AttributeTargets.Class)] public class PrimaryKeyAttribut

Linq to SQL -- Insert、Update、Delete

Insert/Update/Delete操作 插入(Insert) 1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库. NorthwindDataContext db = new NorthwindDataContext(); var newCustomer = new Customer { CustomerID = "MCSFT", CompanyName = "Microsoft

【SQL语句】update ... ... from ......

要求:修改vaj表中的vaj02字段的值,vaj02字段的值=cag.cag03的值,vaj 表与 cag 表无直接关联 实现: update vaj set vaj02=c.cag03 from loc_fee_drg l inner join drg g on l.drg01=g.drg01 inner join cag c on g.cag01=c.cag01where vaj.vaj05=l.fee01 已知: vaj 表中的vaj05的值与loc_fee_drg表中的fee01字段的值

SQL中使用update inner join和delete inner join

update的格式是 update t1 set t1.name=’Liu’ from t1 inner join t2 on t1.id = t2.tid delete 语句也是类似 delete from t1 from t1 inner join t2 on t1.id = t2.tid

SQL基础语法—update语句

1 update语句介绍 update语句用来修改表中的数据内容 Single-table syntax: UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET assignment_list [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] Multiple-table syntax: UPDATE [LOW_PRIORITY] [IGNORE] table_references S