獲得遠端資料庫資訊的儲存過程

2022-05-03 21:21:13 字數 1491 閱讀 1589

create procedure [dbo].[getproductlist]

@database_insertuser varchar(50),

@database_id varchar(50)

asdeclare @database_address varchar(50) --------------遠端資料庫位址

declare @database_loginname varchar(50)-----------登入名

declare @database_dbs varchar(50)--------------------資料庫名

declare @database_table varchar(50)---------------------表名

declare @database_password varchar(50)--------------密碼

begin

set @database_address=''

set @database_loginname=''

set @database_dbs=''

set @database_table=''

set @database_password=''

---獲取最新資料時先把本地舊資料刪除

delete from productinfo where  pi_database=@database_id

---從本地獲得已存在的伺服器資訊

select @database_address=[database_address],@database_loginname=[database_loginname],

@database_dbs=[database_dbs],@database_table=[database_protable],

@database_password=[database_password]  

from databaseinfo where [database_delflag]=0

and [database_id]=@database_id

----將遠端資料庫資訊儲存到本地

declare @s varchar(8000)

set @s='insert into productinfo  select

[pi_id],'+@database_id+'

'+@database_insertuser+',getdate(),[pi_ordernum],[pi_istrue],[pi_clicks],[pi_best],[pi_hot],[pi_linkproduct

]from 

openrowset 

(''sqloledb'','''+@database_address+''';'''+@database_loginname+''';'''+@database_password+''','+@database_dbs+'.dbo.'+@database_table+')'

exec (@s)

end

同步資料庫資訊(儲存過程 游標)

專案基本都是基於現在已有的資料庫進行開發,或者擴充套件,基本碰到的專案都是2 3個以上的資料庫,頭疼。一般做的比較基礎或者常用的就是寫下同步,比如員工,部門,角色,等等的一些同步,我的操作是直接建立儲存過程,然後去設定sqlserver的定時任務,定時去執行這個儲存過程,那麼就實現了我的需求。建立儲...

資料庫 儲存過程

儲存過程,stored procedure,是在大型資料庫系統中,一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執行它。模擬於c中的函式。mysql與sqlserver是不同的。建立儲存過程 conn getconnec...

資料庫 儲存過程

在資料庫中,儲存過程屬於一種物件,是一種高效的安全的訪問資料庫的方法。下邊我們就資料庫中的儲存過程總結它的相關知識點。我們分為概述,實現和管理三個方面來總結。一,儲存過程的概述 1,概念 儲存過程 storedprocedure 是在資料庫伺服器端執行的一組t sql語句的集合,經編譯後存放在資料庫...