国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mssql2008 自定義表類型實現(批量插入或者修改)

2020-01-18 23:50:55
字體:
來源:轉載
供稿:網友
在做大型網站或者系統的時候,經常會遇到個問題就是批量插入或者修改數據庫。如果遇到這個問題,還是一條條記錄來處理,這樣的效率太低了,所以要考慮批量插入或者修改

今天這邊不講SqlBulkCopy,只簡單講sql自定義表類型。因為目前的項目我用到了分表的方式,用存儲過程比較方便自動創建分表。現在把我目前寫的功能簡單做個記錄,也方便以后自己查閱

第一步,在數據庫里點擊 新建查詢 創建相應的sql
復制代碼 代碼如下:

--======自定義表類型Demo======
--創建表
create table tab
(
tabvalue varchar(10)
)
go
--創建自定義表類型
create type Type_tab as table
(
Type_tabvalue varchar(10)
)
go
--創建 存儲過程
create procedure p_Tab
(
@ptab Type_tab readonly
)
as
begin
insert into tab select * from @ptab
end
--sql 測試表類型 type1
declare @tt Type_tab
insert into @tt values('a')
insert into @tt values('b')
insert into @tt values('c')
insert into tab select * from @tt
select * from tab
--sql 測試表類型 type2
declare @tt2 Type_tab
insert into @tt2 values('a')
insert into @tt2 values('b')
insert into @tt2 values('c')
execute p_Tab @tt2

第二步 asp.net 調用 存儲過程
復制代碼 代碼如下:

using (SqlConnection conn =SqlHelper.Settings.GetSqlConnection(true))
{
try
{
DataTable DtAdd = new DataTable();
DtAdd.Columns.Add("tabvalue");
DtAdd.Columns["tabvalue"].DataType = System.Type.GetType("System.String");
foreach (ModelEnt rl in List)
{
DataRow Dr = DtAdd.NewRow();
Dr["tabvalue"] = rl.tabvalue;
DtAdd.Rows.Add(Dr);
}
//int Rt = SqlHelper.SqlHelper.SqlBulkCopy(DtAdd, TableName, conn);
SqlCommand cmd = new SqlCommand("p_Tab", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ptab", SqlDbType.Structured).Value =DtAdd;
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
return cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
#if DEBUG
throw ex;
#else
return -10000;
#endif
}
finally
{
conn.Close();
}

ModelEnt 是tab表對應的實體類。list 是ModelEnt 的一個集合,這樣可以實現多個row,這樣就能一次插入多條記錄。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 迁安市| 文化| 海林市| 崇左市| 鞍山市| 清河县| 抚松县| 稻城县| 察哈| 浑源县| 凌海市| 巍山| 荥阳市| 长岛县| 桂林市| 灵石县| 乌兰浩特市| 凌海市| 伊金霍洛旗| 盐山县| 大姚县| 綦江县| 玉山县| 漳浦县| 尼勒克县| 玛曲县| 三明市| 仪征市| 平乐县| 惠安县| 山阴县| 石泉县| 德钦县| 宣恩县| 天门市| 伊吾县| 大英县| 江门市| 城固县| 五华县| 堆龙德庆县|