MSSQL update 多表关联更新
update tMeter set 字段= t.源自段 from (
select * from 源表信息
) t
where 关联条件
实际demo:
UPDATE dbo.WX_TWODIMENCODE_INFO SET
wti_scan_views=t.count FROM (
SELECT COUNT(*) AS 'count',lci_erector_scene_id FROM LOTTERY_CODE_INFO
WHERE lci_type=40 AND lci_erector_code_scantime IS NOT NULL
GROUP BY lci_erector_scene_id
) AS t
WHERE wti_scene_id=t.lci_erector_scene_id
跨库更新
1 不同服务器数据库之间的数据操作
2
3 --创建链接服务器
4 exec sp_addlinkedserver 'ITSV' , '' , 'SQLOLEDB' , '远程服务器名或ip地址'
5 exec sp_addlinkedsrvlogin 'ITSV' , 'false' , null , '用户名' , '密码'
6
7 --查询示例
8 select * from ITSV.数据库名.dbo.表名
9
10 --导入示例
11 select * into 表 from ITSV.数据库名.dbo.表名
12
13 --以后不再使用时删除链接服务器
14 exec sp_dropserver 'ITSV' , 'droplogins'
15
16 --连接远程/局域网数据(openrowset/openquery/opendatasource)
17 --1、openrowset
18
19 --查询示例
20 select * from openrowset('SQLOLEDB' , 'sql服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名)
21
22 --生成本地表
23 select * into 表 from openrowset('SQLOLEDB' , 'sql服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名)
24
25 --把本地表导入远程表
26 insert openrowset( 'SQLOLEDB' , 'sql服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名)
27 select *from 本地表
28
29 --更新本地表
30 update b
31 set b.列A=a.列A
32 from openrowset('SQLOLEDB' , 'sql服务器名' ; '用户名' ; '密码' , 数据库名.dbo.表名) as a inner join 本地表 b
33 on a.column1 = b.column1
34
35 --openquery用法需要创建一个连接
36
37 --首先创建一个连接创建链接服务器
38 exec sp_addlinkedserver 'ITSV' , '' , 'SQLOLEDB' , '远程服务器名或ip地址'
39 --查询
40 select *
41 FROM openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名')
42 --把本地表导入远程表
43 insert openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名')
44 select * from 本地表
45 --更新本地表
46 update b
47 set b.列B=a.列B
48 FROM openquery(ITSV , 'SELECT * FROM 数据库.dbo.表名') as a
49 inner join 本地表 b on a.列A=b.列A
50
51 --3、opendatasource/openrowset
52 SELECT *
53 FROM opendatasource('SQLOLEDB' , 'Data Source=ip/ServerName ; User ID=登陆名 ; Password=密码').test.dbo.roy_ta
54 --把本地表导入远程表
55 insert opendatasource('SQLOLEDB' , 'Data Source=ip/ServerName ; User ID=登陆名 ; Password=密码').数据库.dbo.表名
56 select * from 本地表
MSSQL update 多表关联更新的更多相关文章
- Oracle\MS SQL Server Update多表关联更新
原文:Oracle\MS SQL Server Update多表关联更新 一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表 ...
- 【SQL】sql update 多表关联更新方法总结
#表结构: 1.表一:Test1 Id name age 1 2 2.表二:Test2 Id name age 1 小明 10 2 小红 8 #实现将表Test2的name和age字段 ...
- MSSQL 多个表关联更新
正确写法2):UPDATE A SET A.mobilephone = b.mobile FROM tb_contact A,tmp_contact b WHERE A.contact_name = ...
- mysql update 多表关联更新
UPDATE new_schedules_spider_static_schedule s join new_scac_port p on p.`PORT` = s.`PORT` and p.SCAC ...
- MySQL 多表关联更新及删除
目录: <MySQL中的两种临时表> <MySQL 多表关联更新及删除> <mysql查询优化之三:查询优化器提示(hint)> 一. 多表关联更新 问题 ...
- 数据库MySQL中关于“多表关联更新”的那些事
在常见的sql中,我们经常在查询中进行多表关联查询,用的比较熟练.今天在开发中遇到一个实际业务场景是多表关联更新,一时不知所措.本着多学习的态度,没有直接写java代码去实现,终于把多表关联更新的sq ...
- 书写 sql 中关于 update 多表联合更新的方法
SQL Update多表联合更新的方法(1) sqlite 多表更新方法//----------------------------------update t1 set col1=t2.col1fr ...
- 170823、SQL Update多表联合更新的方法
SQL Update多表联合更新的方法 (1) sqlite 多表更新方法 update t1 set col1=t2.col1 from table1 t1 inner join table2 t2 ...
- SQL Update多表联合更新的方法
SQL Update多表联合更新的方法 (1) sqlite 多表更新方法 update t1 set col1=t2.col1 from table1 t1 inner join table2 t2 ...
随机推荐
- poj 1475 uva 589 - Pushing Boxes
题目大意 人推箱子从起点到终点,要求推箱子的次数最少,并打印出来人移动的路径. 题目分析 对于箱子进行宽搜的同时,要兼顾人是否能够把箱子推到相应的位置 每一次对箱子bfs 然后对人再bfs #incl ...
- UVa 10900 - So you want to be a 2n-aire?
题目大意: 一个答题赢奖金的问题,玩家初始的金额为1,给出n,表示有n道题目,t表示说答对一道题目的概率在t到1之间,每次面对一道题,可以选择结束游戏,获得当前奖金:回答下一道问题,答对的概率p在t到 ...
- python with as用法
with as用途:取代原来的try...finally,主要是用于处理异常 基本语法:with EXPRESSION [ as VARIABLE] WITH-BLOCK 基本要求:with所求值的对 ...
- Codeforces Round #303 (Div. 2) A 水
A. Toy Cars time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...
- c 函数及指针学习 3
strlen(x) 返回 size_t 类型,size_t是 unsigned int 类型,所以 strlen(x)-strlen(y) 返回 unsigned int 始终 >=0 1 2 ...
- POJ-2152 Fire (树形DP)
题目大意:在一棵树中选出一些点,选每个点的代价为w(i),并且对于点 i ,在距离它lim(i)之内必须选一个点,使它作为 i 的依赖点.求最小代价. 题目分析:定义状态dp(u,k)表示使u为根节点 ...
- x86-64_register_and_function_frame.html
http://www.searchtb.com/2013/03/x86-64_register_and_function_frame.html
- Unity Shaders
推荐!! Unity技术人员的博客: http://aras-p.info/blog/ Unity 中的 Shader 按照使用方式来分的话,分为3种: Surface Shader 受光照影响 Cg ...
- docker学习2-安装实践
windows上安装docker后,默认自动在后台运行,右下角有docker图标,鼠标右键点击出现菜单 可以查看docker版本,对一些基本项进行设置如下: 安装及具体操作参见官方文档: https: ...
- tomcat集群待整理
对于tomcat的集群有两种方式,这个主要是针对 session而言的.一种就是sticky模式,即黏性会话模式:另外一种就是session复制模式了.所谓sticky模式就是说同一个用户的访问 请求 ...