表變數+儲存過程批量匯入資料庫
阿新 • • 發佈:2019-01-06
好多朋友都有這樣一個需求:直接將一個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的欄位與自定義的相對應三:程式內部呼叫 public int CsvUploadTable(DataTable dt) { string procName = "usp_Import_File]"; SqlParameter[] parmCsoMs ={ new SqlParameter("@tab",dt) }; --將table作為引數傳入儲存過程返回處理結果 } 以上是我做的一些總結,有啥不對的地方歡迎批評指正。