sql 2008 使用output避免数据修改后的二次查询
表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避免数据修改后的二次查询相关推荐
- 你真的会玩SQL吗?简单的数据修改
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- 离线状态下如何在Execl中实现数据修改后的高亮显示?
Execl中实现数据修改后的高亮显示 1 问题描述 2 解决思路 2.1 保存操作记录 2.2 手动保存原记录后进行匹配 3 解决方法 3.1跟踪更改 3.2 条件格式 3.3 重复项匹配 3.4 设 ...
- mysql overwrite数据_Spark SQL和MySQL-SaveMode.Overwrite不插入修改后的数据
我在 MySQL中有一个带有id和name的测试表,如下所示: +----+-------+ | id | name | +----+-------+ | 1 | Name1 | +----+---- ...
- SQL数据库推送至MySQL_SQL 2000怎么向SQL 2008 R2推送数据?
最近做的一个项目要获取存在于其他服务器的一些数据,为了安全起见,采用由其他服务器向我们服务器推送的方式实现.我们服务器使用的是sql server 2008 R2,其他服务器使用的都是SQL Serv ...
- sql数据库服务器重装,保留数据重装后sqlserver数据库不能启动(sql2008,sql2012)
最近有很多用户反馈重装为预装sqlserver模板的系统,sqlserver不能正常启动,经核实大部分都是用户保留数据重装更换另外模板的windows系统的原因.由于数据库安装在D盘,有些模板是没有安 ...
- postgresSQL 实现数据修改后,自动更新updated_date/ts等字段
1. 需求说明: 实现MYSQL中有on update CURRENT_TIMESTAMP 2. 需求分析 由于数据库迁移需要将MYSQL中的数据迁移到postgresSQL中,由于MYSQL中有on ...
- 博图WINCC报表(SQL数据库的建立,TIA_wincc在数据库中保存和查询数据,调用Excel模板把数据保存到指定的位置)
这里写目录标题 目录 一.概述 1.1 前言 1.2 主要功能 1.3 使用的软件 二. SQL server建库和建表 2.1.SQL server建库 2.2SQL server建表 三.建立wi ...
- SQL Server 2008使用LINQ进行数据访问(转载自IT168 [ http://www.it168.com/ ])
SQL Server 2008使用LINQ进行数据访问 2008年09月23日 IT168网站原创 作者:微软中国 编辑:胡铭娅 评论:0条 本文Tag: LINQ SQL Server 2008 微 ...
- sql数据删除后恢复
sql数据删除后恢复 不小心把客户那边的数据库中删了一千多条数据,之前又没有备份,很郁闷,后来在网上找到一工具(Log Explorer),让我躲过一劫. 首先看一下界面:输入服务器地址,用户名及密码 ...
最新文章
- 青少年编程竞赛交流群周报(第040周)
- 机器学习流程模板及多模型对比实战梳理
- linux查看vnc服务关闭,linux配置vncserver服务
- spring 数组中随机取几个_美团Java研发三面(3年经验):MySQL+Spring源码+分布式+算法+线程...
- H3C S3100交换机配置VLAN和远程管理
- BZOJ2597 WC2007剪刀石头布(费用流)
- 判断表达式值是否为空_如何在 Python 中判断列表是否为空
- 二叉树两节点距离java,求二叉树中两个节点的最远距离
- 只删除字符串前面的‘*’号。
- Python数组类型——列表(list)
- CSS3/jQuery创意盒子动画菜单
- PhoneGap的Android端插件开发
- (转)BlackRock:全球最大资管公司如何一步步倒戈人工智能?
- 用计算机弹假面骑士build,假面骑士build使用的武器汇总,你知道几个?
- 计算机硬件带软件怎么入账,企业购买硬件与软件该如何做账?
- poi 启用保护后取消_ie11启用增强保护模式开启关闭方法
- 奇安信Java后端一面
- 跟着我学习 AI丨语音识别:将语音转为数字信号
- Tony.SerialPorts.RS232串口模块(二)
- mysql 1067_mysql启动错误1067进程意外终止的解决方法
热门文章
- react学习(37)----获取子组件得实例
- [css] 简述你对BFC规范的理解
- [css] 移动端微信页面有哪些兼容性问题及解决方案是什么?
- [css] box-sizing的宽度包含了哪些?
- 前端学习(2848):鼠标点击事件
- 前端学习(1874)vue之电商管理系统电商系统之处理项目中eslint语法报错
- “睡服”面试官系列第十篇之module的语法(建议收藏学习)
- 前端学习(1375):express参数中post参数的获取
- 第八十六期:“程序员锁死服务器导致公司倒闭”案正式开庭审理
- java面试题8 牛客:在Web应用程序中,( )负责将HTTP请求转换为HttpServletRequest对象