1. 程式人生 > >表變數+儲存過程批量匯入資料庫

表變數+儲存過程批量匯入資料庫

好多朋友都有這樣一個需求:直接將一個table作為引數傳進儲存過程進行資料的批量處理,但是一直沒有什麼好的方法。前段時間我也有這樣一個需求,後來查閱了好多資料終於順利解決,下面將方法與各位分享一下。

一:建立與所需表有相同欄位的自定義表變數資訊 create type [dbo].[CSO_MS] as table ( [Year]   nvarchar(250),  [Month]  nvarchar(250),  [Code] nvarchar(250), [CSO_YTD] nvarchar(250), [MS_YTD]  nvarchar(250) ) 注:檢視自己建立的type 資料庫展開-Programmability-Types-User-Defined Table Types 二:建立儲存過程 CREATE proc [dbo].[usp_Import_File] @tab CSO_MS READONLY   --將table作為引數傳入,傳入table的欄位與自定義的相對應
as begin select * into #CCSVTable from @tab   --將傳入的table放進臨時表進行處理 end
三:程式內部呼叫 public int CsvUploadTable(DataTable dt) {         string procName = "usp_Import_File]";         SqlParameter[] parmCsoMs ={ new SqlParameter("@tab",dt)  };         --將table作為引數傳入儲存過程返回處理結果 } 以上是我做的一些總結,有啥不對的地方歡迎批評指正。