Sql server 的update语句的新认识
来源:互联网 发布:客观评价张学良知乎 编辑:程序博客网 时间:2024/05/17 06:20
一般的update语句的用法为
update test set xxx = 'xxx' where id = 'xxx'
update test set xxx = 'xxx' where id = (子查询)
除了这两种形式,但不知还有这种形式
建表语句:
create table tb1(
id int primary key identity(1,1),
salary int
)
GO
insert into tb1(salary) values(100)
insert into tb1(salary) values(200)
GO
create table tb2(
id int primary key identity(1,1),
tb1_id int references tb1(id),
salary int
)
GO
insert into tb2(tb1_id) values(1)
insert into tb2(tb1_id) values(2)
数据库中的数据:
tb1
==================
id salary
---------------------------------
1 100
2 200
---------------------------------
tb2
==================
id tb1_id salary
---------------------------------
1 1 null
2 2 null
---------------------------------
要改为的结果:
tb2
==================
id tb1_id salary
---------------------------------
1 1 100
2 2 200
---------------------------------
sql为:
UPDATE tb2
SET tb2.salary = tb1.salary
FROM tb2
INNER JOIN tb1
ON (tb2.tb1_id=tb1.id)
(ps: 只有sql server才支持这种语法,oracle中是不支持的)
这种形式非常有用,以前做跨表更新是都是用视图来做的,没想到居然可以这样。
在oracle有变通的实现方法: http://www.cnblogs.com/JasonLiao/archive/2009/12/23/1630895.html
- Sql server 的update语句的新认识
- sql server的update select语句
- 一个sql server update的语句
- SQL server 的 update 语句的工作原理
- sql server的 update from 语句的深究
- SQL Server的update语句的工作原理
- Oracle与SQL Server对Update语句的处理
- break语句/Continue语句的新认识
- break语句/Continue语句的新认识
- Oracle和SQL Server的对比 - 连接表的更新操作Update SQL 语句
- SQL语句中的JION语句的认识
- SQL Update语句的执行顺序
- 一个sql 2008的update语句问题
- 一条比较复杂的update sql语句
- sql server 上 update 语句中 set 后表达式的执行顺序
- SQL SERVER UPDATE的赋值次序
- Sql Server中Update用法的心得
- Sql Server中Update用法的心得
- c#开发了
- XML学习之Xml Schema:十、一致性约束
- JEECG开源说明:JEECG 完全开源,不收任何费用,可以任用于商业!
- Strut2判断是否是AJAX调用
- Installutil.exe的位置和路径
- Sql server 的update语句的新认识
- 如何理解extract_options!
- 如何说服别人,如何让别人理解自己
- C# 将bit流转化为十六进制显示出来
- [举重若轻]python+django+mysql web开发入门学习之动态模板
- svn入门续-1
- Mysql双主自增长冲突处理
- MSSQL2008下查看结构变化监控,Schema Change History
- 黑马程序员__JAVA基础加强--类加载器和代理总结