sql查詢數據並更新
A. sql SERVER怎麼從查詢結果更新數據
InsertIntov_ws_transet(tranorg_client,wstranid,direct,outactive,inactive)
Select'新傳輸機構名稱',wstranid,direct,outactive,inactive
Fromv_ws_transet
Wheretranorg_client='值1'andwstranid='值2'anddirect='值3'andoutactive='值4'andinactive='值5'
B. sql如何更新數據(用sql語句)
代碼如下:
--創建鏈接伺服器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠程伺服器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用戶名 ', '密碼 '
--查詢示例
select * from ITSV.資料庫名.dbo.表名
--導入示例
select * into 表 from ITSV.資料庫名.dbo.表名
--以後不再使用時刪除鏈接伺服器
exec sp_dropserver 'ITSV ', 'droplogins '
--連接遠程/區域網數據(openrowset/openquery/opendatasource)
--1、openrowset
--查詢示例
select * from openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)
--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)
--把本地表導入遠程表
insert openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)
select *from 本地表
--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1
--openquery用法需要創建一個連接
--首先創建一個連接創建鏈接伺服器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠程伺服器名或ip地址 '
--查詢
select *
FROM openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ')
--把本地表導入遠程表
insert openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ') as a
inner join 本地表 b on a.列A=b.列A
--3、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ' ).test.dbo.roy_ta
C. mysql 我如何查詢一批數據後,並更新這批數據
有時候我們會不小心對一個大表進行了 update,比如說寫錯了 where 條件......
此時,如果 kill 掉 update 線程,那回滾 undo log 需要不少時間。如果放置不管,也不知道 update 會持續多久。
那我們能知道 update 的進度么?
實驗
我們先創建一個測試資料庫:
那我們怎麼准確的這個倍數呢?
一種方法是靠經驗:update 語句的 where 中會掃描多少行,是否修改主鍵,是否修改唯一鍵,以這些條件來估算系數。
另一種方法就是在同樣結構的較小的表上試驗一下,獲取倍數。
這樣,我們就能准確估算一個大型 update 的進度了。
D. Mysql查詢將查詢的結果進行更新
update a set aa = '1' where ab = ( select ab from b);
測試過了 可以通過
但是這個語句只有在 b表中只有一條記錄的時候是准確的
如果b表中有多條記錄 那你得在子查詢中查詢指定的某一個 ab 列的值 才是准確的!
E. 在sql中,怎麼更新表中數據
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值,update語句的寫法:
1、UPDATE table_name
2、SET column1=value1,column2=value2,...
3、WHERE column(1)=value(1),column(2)=value(2)...and column(n)=value(n);
4、UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing',WHERE LastName = 'Wilson'。
用途:更新表中原有數據
單獨使用,使用where匹配欄位
set後面,更新欄位值,既可以一次一項,也可以一次多項
例:
「Person」表中的原始數據:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Storgt 67
運行下面的SQL將Person表中LastName欄位為」Rasmussen」的FirstName更新為」Nina」:
UPDATE Person SET FirstName = 'Nina' WHERE LastName = 'Rasmussen'
F. sql中如何更新查詢出的指定數據
UPDATE 表名 SET 需要修改的列名=修改後的值 WHERE 更新條件