跨庫多表查詢,對差異資料進行更新或者新增

2021-09-27 06:47:23 字數 1035 閱讀 7332

string updatasql = string.format(@「update [equipment] set [equipment].name=b.devicename from [aptdatabase0918].[dbo].[devices] b where [equipment].deviceid=b.deviceid and [equipment].devicesiteid = b.siteid」);

string insertsql = string.format(@"insert into [equipment] (name,deviceid,devicesiteid,[stepid],[deptid],[status],[laborcount],[totalpiececount],[totalsheetcount],[totalpagecount]) select b.devicename,b.deviceid,b.siteid,'','','','','','','' from [aptdatabase0918].[dbo].[devices] b where not exists (select * from [equipment] a where a.deviceid=b.deviceid and a.devicesiteid = b.siteid)");
當另乙個資料庫位址為動態,就需要在sql語句中開啟新的資料庫連線,sql開新連線查詢的格式如下

select *

from opendatasource(

『sqloledb』,

『pwd=loginpassword;uid=otherserveruserid;initial catalog=databasename;server=dataserver』

).databasename.dbo.[tablename]

通過uid、pwd的身份訪問另乙個資料庫伺服器。

其中:pwd : 是指另乙個資料庫伺服器的登入密碼

uid : 是指另乙個資料庫伺服器的登入id(使用者名稱)

initial catalog : 指明資料庫

server : 指明伺服器

跨伺服器 跨資料庫 多表聯合查詢

首頁假如我們有3臺伺服器,分別是運算元據庫的伺服器a,第二台伺服器b192.168.1.136,第三台伺服器c192.168.1.125 注 關閉伺服器上的防火牆 查詢出錯的話 我們在a伺服器上建立usera資料庫的user ta表,b上建立userb資料庫的user tb表,c上建立userc資料...

多表查詢資料庫

在專案中建立資料庫的時候,我們經常會進行多表查詢。資料庫中建立乙個表應該與乙個實體類相對應。乙個實體物件應該與一條記錄相對應。資料庫是一種結構化的查詢語言,資料庫語言是非過程化的,寫一句就可以執行一句。進行建表的時候,如果是一對多的關係,應該在多的一方建立乙個字段。該字段為少的一方的id。進行建表的...

資料庫多表查詢

笛卡爾積 select from emp,dept select from emp cross join dept 內連線 inner join 內連線把兩個表連線成乙個表 稱為第三個表 在這個表中僅包含那些滿足連線條件的記錄行 select from emp,dept where emp.dept...