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 ...
随机推荐
- asp.net网站 提示Ambiguous match found
在ASP.net中,每个aspx页面都会有一个.cs文件,(好像不可以多个aspx共用一个cs的,我前面就碰到这个问题), 在aspx页面中,我们会用到服务器控件,或html控件,这些控件的id命名时 ...
- vim 被墙
我只能说,呵呵.还好这货可以进. http://vim.wendal.net/
- mysql 关联删除
参考网址:http://www.111cn.net/database/mysql/51146.htm 原网页广告太多,自己抄了下. 1.delete from t1 where 条件2.delete ...
- POJ2125 Destroying The Graph (最小点权覆盖集)(网络流最小割)
Destroying The Graph Time Limit: 2000MS Memo ...
- phpmyadmin的安装和使用
首先在phpmyadmin的官方网站的下载页面根据自己的PHP以及MYSQL的版本下载对应的phpmyadmin版本. 图中红框部分标识此版本支持度额PHP版本以及MYADL版本. 比如此版本就是支持 ...
- P364 实战练习(多线程)
尝试定义一个继承Thread类的类,并覆盖run( )方法,在run( )方法中每隔1000毫秒打印一句话. 编写代码如下: 编写PractiseThread类: package org.hanqi. ...
- ExtJS常用的正则表达式
正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. Ext.onReady(function(){ Ext.QuickTips.init(); }); E ...
- 内存使用空间之swap建置[转]
http://www.cnblogs.com/ggjucheng/archive/2012/08/22/2651502.html 内存置换空间(swap)之建置 安装时一定需要的两个 partitio ...
- 万能写入sql语句,并且防注入
通过perpare()方法和检查字段防sql注入. $pdo=new PDO('mysql:host=localhost;dbname=scms', 'root' ); $_POST=array('t ...
- data pump (数据抽取)测试
背景介绍>利用db_link直接pump抽取,减少转储文件集. 前提: 授权> grant create public database link,create database l ...