Re: [SQL ] LinkServer & Ooutput

作者: far0802 (fruit.)   2019-05-29 16:35:07
1.將linked server要寫入的語法寫成procedure,並將GUID設為output
2.將linked server屬性的prc、prc輸入設true
3.declare @guid varchar(50)
Exec [linked server].dbname.dbo.usp @guid output
Insert into localtable(guid) values(@guid)
※ 引述《carsun00 (永夜)》之銘言:
: 資料庫名稱:SQL Server 2017
: 資料庫版本:14.0.2002.14
: 內容/問題描述:
: 1.從本地端取得資料&本地端GUID(已存在),
: 2.寫入遠端資料庫,並且取得自動產生的GUID,
: 3.把本地端的GUID與遠端資料庫GUID
: 寫入本地端資料庫的Mapping Table。
: 遠端資料庫欄位大致如下
: [LinkServer].[DBname].[dbo].[TableA]
: - [Source_GUID]
: - [UserName]
: - [UserNo]
: - [UpDate_Time]
: SQL語法
: INSERT [LinkServer].[DBname].[dbo].[TableA]
: ([UserName],[UserNo],[UpDate_Time])
: OUTPUT
: inserted.[Source_GUID]
: , inserted.[UpDate_Time]
: INTO [DBname].[dbo].[LocalTable]
: ([Source_GUID],[UpDate_Time])
: Values ('人員姓名', 'A00001', GETDATE())
: Values ('人員姓名', 'A00001', GETDATE())
: 如果兩個DB都在本地端的話..這語法能夠正常運作。
: 但是掛上LinKServer後就不能了...
: 會說無法對遠端伺服器使用OUTPUT
: 想請教有甚麼比較好的做法嗎?
: 我想到的只有乖乖的寫入資料,
: SELECT出他的GUID 在寫入MAPPING Table..
作者: carsun00 (永夜)   2019-05-30 08:38:00
謝謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com