表a (f1 primary key,f2,f3),  表b (f1,f3,f4)

现要根据表b修改表a中的相应字段的值,并将修改过的值显示出来,一般用法:

1 update a from b set a.f3=b.f3 where a.f1=b.f1

2 select a.f1,f2,f3 from a where a.f1 in (select f1 from b)

根据sql的Output运算符,其实我们可以避免第二步,即在修改的同时,将受影响的行列出来,用法如下:

1 update a  set a.f3=b.f3 output inserted.f1,inserted.f2,inserted.f3 from b where a.f1=b.f1

优点:

1,只需要对表做一次查询,不会再做第二次查询,

2,整个语句是一个原子事务操作,要么整个完成,要么整个失败。

转载于:https://www.cnblogs.com/qml007/archive/2011/09/27/2193641.html

sql 2008 使用output避免数据修改后的二次查询相关推荐

  1. 你真的会玩SQL吗?简单的数据修改

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  2. 离线状态下如何在Execl中实现数据修改后的高亮显示?

    Execl中实现数据修改后的高亮显示 1 问题描述 2 解决思路 2.1 保存操作记录 2.2 手动保存原记录后进行匹配 3 解决方法 3.1跟踪更改 3.2 条件格式 3.3 重复项匹配 3.4 设 ...

  3. mysql overwrite数据_Spark SQL和MySQL-SaveMode.Overwrite不插入修改后的数据

    我在 MySQL中有一个带有id和name的测试表,如下所示: +----+-------+ | id | name | +----+-------+ | 1 | Name1 | +----+---- ...

  4. SQL数据库推送至MySQL_SQL 2000怎么向SQL 2008 R2推送数据?

    最近做的一个项目要获取存在于其他服务器的一些数据,为了安全起见,采用由其他服务器向我们服务器推送的方式实现.我们服务器使用的是sql server 2008 R2,其他服务器使用的都是SQL Serv ...

  5. sql数据库服务器重装,保留数据重装后sqlserver数据库不能启动(sql2008,sql2012)

    最近有很多用户反馈重装为预装sqlserver模板的系统,sqlserver不能正常启动,经核实大部分都是用户保留数据重装更换另外模板的windows系统的原因.由于数据库安装在D盘,有些模板是没有安 ...

  6. postgresSQL 实现数据修改后,自动更新updated_date/ts等字段

    1. 需求说明: 实现MYSQL中有on update CURRENT_TIMESTAMP 2. 需求分析 由于数据库迁移需要将MYSQL中的数据迁移到postgresSQL中,由于MYSQL中有on ...

  7. 博图WINCC报表(SQL数据库的建立,TIA_wincc在数据库中保存和查询数据,调用Excel模板把数据保存到指定的位置)

    这里写目录标题 目录 一.概述 1.1 前言 1.2 主要功能 1.3 使用的软件 二. SQL server建库和建表 2.1.SQL server建库 2.2SQL server建表 三.建立wi ...

  8. SQL Server 2008使用LINQ进行数据访问(转载自IT168 [ http://www.it168.com/ ])

    SQL Server 2008使用LINQ进行数据访问 2008年09月23日 IT168网站原创 作者:微软中国 编辑:胡铭娅 评论:0条 本文Tag: LINQ SQL Server 2008 微 ...

  9. sql数据删除后恢复

    sql数据删除后恢复 不小心把客户那边的数据库中删了一千多条数据,之前又没有备份,很郁闷,后来在网上找到一工具(Log Explorer),让我躲过一劫. 首先看一下界面:输入服务器地址,用户名及密码 ...

最新文章

  1. 青少年编程竞赛交流群周报(第040周)
  2. 机器学习流程模板及多模型对比实战梳理
  3. linux查看vnc服务关闭,linux配置vncserver服务
  4. spring 数组中随机取几个_美团Java研发三面(3年经验):MySQL+Spring源码+分布式+算法+线程...
  5. H3C S3100交换机配置VLAN和远程管理
  6. BZOJ2597 WC2007剪刀石头布(费用流)
  7. 判断表达式值是否为空_如何在 Python 中判断列表是否为空
  8. 二叉树两节点距离java,求二叉树中两个节点的最远距离
  9. 只删除字符串前面的‘*’号。
  10. Python数组类型——列表(list)
  11. CSS3/jQuery创意盒子动画菜单
  12. PhoneGap的Android端插件开发
  13. (转)BlackRock:全球最大资管公司如何一步步倒戈人工智能?
  14. 用计算机弹假面骑士build,假面骑士build使用的武器汇总,你知道几个?
  15. 计算机硬件带软件怎么入账,企业购买硬件与软件该如何做账?
  16. poi 启用保护后取消_ie11启用增强保护模式开启关闭方法
  17. 奇安信Java后端一面
  18. 跟着我学习 AI丨语音识别:将语音转为数字信号
  19. Tony.SerialPorts.RS232串口模块(二)
  20. mysql 1067_mysql启动错误1067进程意外终止的解决方法

热门文章

  1. react学习(37)----获取子组件得实例
  2. [css] 简述你对BFC规范的理解
  3. [css] 移动端微信页面有哪些兼容性问题及解决方案是什么?
  4. [css] box-sizing的宽度包含了哪些?
  5. 前端学习(2848):鼠标点击事件
  6. 前端学习(1874)vue之电商管理系统电商系统之处理项目中eslint语法报错
  7. “睡服”面试官系列第十篇之module的语法(建议收藏学习)
  8. 前端学习(1375):express参数中post参数的获取
  9. 第八十六期:“程序员锁死服务器导致公司倒闭”案正式开庭审理
  10. java面试题8 牛客:在Web应用程序中,( )负责将HTTP请求转换为HttpServletRequest对象