偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL Server數(shù)據(jù)庫遠程查詢并批量導(dǎo)入數(shù)據(jù)

數(shù)據(jù)庫 SQL Server
本文我們主要介紹了SQL Server數(shù)據(jù)庫遠程查詢并批量導(dǎo)入數(shù)據(jù)的操作,并給出了詳細的代碼示例,希望能夠?qū)δ兴鶐椭?/div>

SQL Server數(shù)據(jù)庫遠程查詢批量導(dǎo)入數(shù)據(jù)的方法是本文我們主要要介紹的內(nèi)容,接下來就讓我們一起來了解一下這部分內(nèi)容吧。

應(yīng)用背景:

兩個數(shù)據(jù)庫的表結(jié)構(gòu)相同,但表名前綴不一樣,現(xiàn)要保持原有的數(shù)據(jù)表的ID導(dǎo)過來不變。用數(shù)據(jù)庫批量導(dǎo)入/導(dǎo)出工具行不通,只能自己寫SQL語句。奈何有180多個表,手工寫肯定是累S個人。

解決辦法:

先用 OpenDataSource 遠程連接服務(wù)器,然后執(zhí)行插入語句可行。其語句如下:

  1. truncatetableActUser  
  2. SETIDENTITY_INSERTActUseron  
  3. insertintoActUser(  
  4. [ID],[PassWord],[UserName]  
  5. )select  
  6. [ID],[PassWord],[UserName]  
  7. fromopendatasource('SQLOLEDB','datasource=DBSERVERIP;uid=sa;password=sa').TEST.dbo.ActUser  
  8. SETIDENTITY_INSERTActUseroff 

 

然后我想到用游標結(jié)合 sysobjects和syscolumns 來實現(xiàn)自動生成這樣的語句,其代碼如下:

  1. declaremycursorcursor  
  2. for  
  3. select[id],[name]fromdbo.sysobjectswheretype='U' 
  4. openmycursor  
  5. declare@tablenamesysname  
  6. declare@tableidsysname  
  7. fetchnextfrommycursorinto@tableid,@tablename--獲取表名  
  8. while(@@fetch_status=0)  
  9. begin  
  10. print'--['+@tablename+']'  
  11. --拼湊字段,將行轉(zhuǎn)為字符串--  
  12. DECLARE@fieldsvarchar(8000)  
  13. set@fields='' 
  14. SELECT@fields=''+@fields+'],['+nameFROMsyscolumnsWHEREid=object_id(@tablename)ORDERBYcolid  
  15. set@fields='['+STUFF(@fields,1,3,'')+']'  
  16. --拼湊字段End--  
  17. --print@fields  
  18. /*******避免因字段過長而導(dǎo)致截斷情形********/  
  19. print'truncatetable'+@tablename--清理數(shù)據(jù)  
  20. print'SETIDENTITY_INSERT'+@tablename+'on'--可使自增長列轉(zhuǎn)為可插入數(shù)據(jù),不用重新生成ID  
  21. print'insertinto'+@tablename+'('  
  22. print@fields  
  23. print')select'  
  24. print@fields  
  25. print'fromopendatasource('  
  26. +'''SQLOLEDB'',''datasource=DBServerIP;uid=sa;password=sa'').TEST.dbo.'  
  27. +replace(@tablename,'Wait_','Has_')  
  28. print'SETIDENTITY_INSERT'+@tablename+'off'  
  29. printchar(13)--換行  
  30. fetchnextfrommycursorinto@tableid,@tablename  
  31. end  
  32. closemycursor  
  33. deallocatemycursor  

將生成的SQL 語句放到查詢分析器里執(zhí)行一下,生成SQL 語句,然后執(zhí)行一下,就可以成功地批量導(dǎo)入數(shù)據(jù)了。

關(guān)于SQL Server數(shù)據(jù)庫遠程查詢并批量導(dǎo)入數(shù)據(jù)的方法就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. SQL Server 2005系統(tǒng)數(shù)據(jù)庫的簡單介紹
  2. SQL Server數(shù)據(jù)庫利用SQL語句使用事務(wù)詳解
  3. SQL Server數(shù)據(jù)庫ROW_NUMBER()函數(shù)使用詳解
  4. 關(guān)閉SQL Server 2005遠程連接以及其它對外服務(wù)
  5. SQL Server數(shù)據(jù)庫DATEDIFF的參數(shù)介紹及使用示例
     
責任編輯:趙鵬 來源: 博客園
相關(guān)推薦

2010-11-09 17:19:49

SQL Server導(dǎo)

2010-10-22 11:22:33

SQL Server數(shù)

2009-07-06 21:20:34

SQL Server數(shù)

2011-08-25 16:13:31

SQL Server批量替換數(shù)據(jù)

2011-03-11 13:26:23

SQL Server數(shù)導(dǎo)入數(shù)據(jù)

2010-07-15 17:28:50

SQL Server

2010-07-21 14:17:36

SQL Server數(shù)

2011-08-04 15:55:25

SQL Server數(shù)

2011-07-28 14:31:47

SQL Server數(shù)存儲過程

2010-09-08 16:53:43

SQL查詢循環(huán)

2009-01-27 21:00:00

服務(wù)器數(shù)據(jù)庫SQL Server

2010-07-21 14:11:36

SQL Server

2009-11-18 16:16:51

Oracle數(shù)據(jù)庫

2021-05-17 06:57:34

SQLServer數(shù)據(jù)庫

2011-08-15 15:53:51

SQL Server數(shù)批量操作

2011-03-10 10:50:01

excelsql數(shù)據(jù)庫

2010-07-08 11:05:14

SQL Server數(shù)

2009-04-30 09:28:05

SynonymOpenquerySQL Server

2010-10-26 11:04:48

oracle數(shù)據(jù)導(dǎo)入

2011-03-04 13:07:06

SQL Server數(shù)
點贊
收藏

51CTO技術(shù)棧公眾號