使用 TOP 子句限制UPDATE 语句更新的数据
可以使用 TOP 子句来限制 UPDATE 语句中修改的行数。当 TOP (n) 子句与 UPDATE 一起使用时,将针对随机选择的 n 行执行删除操作。例如,假设您要为一位高级销售人员减轻销售负担,而将一些客户分配给了一位初级销售人员。下列示例将随机抽样的 10 个客户从一位销售人员分配给了另一位。
USE AdventureWorks2008R2; UPDATE TOP (10) Sales.Store SET SalesPersonID = 276 WHERE SalesPersonID = 275; GO
如果需要使用 TOP 来应用按有意义的时间顺序排列的更新,您必须同时使用 TOP 和 ORDER BY 子句。下列示例更新了雇佣最早的 10 名雇员的假期小时数。
UPDATE HumanResources.Employee SET VacationHours = VacationHours + 8 FROM (SELECT TOP 10 BusinessEntityID FROM HumanResources.Employee ORDER BY HireDate ASC) AS th WHERE HumanResources.Employee.BusinessEntityID = th.BusinessEntityID; GO
相关推荐
-
使用 TOP 子句限制UPDATE 语句更新的数据
可以使用 TOP 子句来限制 UPDATE 语句中修改的行数.当 TOP (n) 子句与 UPDATE 一起使用时,将针对随机选择的 n 行执行删除操作.例如,假设您要为一位高级销售人员减轻销售负担,而将一些客户分配给了一位初级销售人员.下列示例将随机抽样的 10 个客户从一位销售人员分配给了另一位. USE AdventureWorks2008R2; UPDATE TOP (10) Sales.Store SET SalesPersonID = 276 WHERE SalesPersonID
-
利用带关联子查询Update语句更新数据的方法
Update是T-sql中再简单不过的语句了,update table set column=expression [where condition],我们都会用到.但update的用法不仅于此,真正在开发的时候,灵活恰当地使用update可以达到事半功倍的效果. 假定有表Table1(a,b,c)和Table2(a,c),现在Table1中有些记录字段c为null,要根据字段a在Table2中查找,取出字段a相等的字段c的值来更新Table1.一种常规的思路,通过游标遍历Table1中字段c为
-
MySQL执行update语句和原数据相同会再次执行吗
背景 本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗? 测试环境 MySQL5.7.25 Centos 7.4 binlog_format为ROW 参数 root@localhost : (none) 04:53:15> show variables like 'binlog_row_image'; +------------------+-------+ | Variable_name | Value | +------
-
mysql update语句的用法详解
首先,单表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count] 其次,多表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_n
-
mybatis 有时update语句执行无效的解决方案
目录 项目里mybatis有时update语句执行无效 解决办法 执行update语句后,数据没有被更新,也没有报错 问题描述 详细情况 解决办法 项目里mybatis有时update语句执行无效 公司测试人员在测试的时候发现,在积分系统,消费产生了积分,有时候,却不能加到用户累计积分上去. 明明积分流水记录跟用户积分的增加在一个事务当中的.积分流水记录生成成功,偏偏用户积分没有加上去?奇了怪了. 加积分的代码是: tMemberPointMapper.updateByPrimaryKeySel
-
MYSQL的REPLACE和ON DUPLICATE KEY UPDATE语句介绍解决问题实例
在对看看的后台进行排序的时候,遇到了一个像这样的需求,在电影表中有ID(主键自增)和orderby(排序字段) ,假设有十条数据id分别从1-10之间,对应的orderby也是从1-10之间,我现在想把id=9的数据移动到第三的位置(id=3)的这个位置,并且保证之前的数据排列顺序(即id=3的orderby=4,id=4的orderby=5-id=8的orderby=9),这样如果用循环的形式是可以解决数据的问题,但是这样操作数据库过程太多,现在就想用一条sql语句来解决这个问题. 下面来看看
-
详解MySQL数据库insert和update语句
用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.SQL语句中的更新语句update是最常用的语句之一,言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UPDATE以及DELETE. 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就 是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.
-
正确使用MySQL update语句
以下的文章主要介绍的是MySQL update 语句的实际用法,我们首先是以单表的UPDATE语句来引出实现MySQL update 语句的实际方案,以下就是文章的详细内容描述. 单表的MySQL UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
-
mysql ON DUPLICATE KEY UPDATE语句示例
MySQL 自4.1版以后开始支持INSERT - ON DUPLICATE KEY UPDATE语法,使得原本需要执行3条SQL语句(SELECT,INSERT,UPDATE),缩减为1条语句即可完成.例如ipstats表结构如下: 复制代码 代码如下: CREATE TABLE ipstats (ip VARCHAR(15) NOT NULL UNIQUE,clicks SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0'); 原本需要执行3条SQL语句,如下:
-
MySQL中UPDATE语句使用的实例教程
一.UPDATE常见用法 首先建立测试环境: DROP TABLE IF EXISTS t_test; CREATE TABLE t_test ( bs bigint(20) NOT NULL auto_increment, username varchar(20) NOT NULL, password varchar(20) default NULL, remark varchar(200) default NULL, PRIMARY KEY (bs) ) ENGINE=InnoDB AUTO
随机推荐
- Vuex利用state保存新闻数据实例
- [vbs]每一行的最后一个字符转换成_
- slf4j与log4j全面了解
- Cocos2d-x中实现弹出对话框示例
- c#的treeview绑定和获取值的方法
- PHP警告Cannot use a scalar value as an array的解决方法
- MySQL优化必须调整的10项配置
- PHP5.2下chunk_split()函数整数溢出漏洞 分析
- Ruby中XML格式数据处理库REXML的使用方法指南
- 基于jquery的simpleValidate简易验证插件
- javascript 全选与全取消功能的实现代码
- js如何设置在iframe框架中指定div不显示
- PHP HTML JavaScript MySQL代码如何互相传值的方法分享
- 第二节--PHP5 的对象模型
- adodb与adodb_lite之比较
- css浏览器不兼容原因分析及解决办法第1/2页
- 关于Redis你可能不了解的一些事
- vue中多个倒计时实现代码实例
- java中ConcurrentHashMap的读操作为什么不需要加锁
- 关于vue的语法规则检测报错问题的解决