java插入多条数据_用xml作参数一次插入多条数据

1、存储过程方法:

declare @customers xml

set @customers=’‘

INSERT control.tb_ExternalEnterprise(BPNo,EnterpriseId,EnterpriseName)

SELECT R.c.value(‘@bpNo’,’CHAR(6)’),R.c.value(‘@MNo’,’VARCHAR(50)’),

R.c.value(‘@MName’,’NVARCHAR(30)’)

FROM @customers.nodes(‘cus’) R(c)

2、sql语句方法:

INSERT tb_ExternalEnterprise(BPNo,EnterpriseId,EnterpriseName)

SELECT b.*

FROM (select cast(‘

‘ as xml) a)t

cross apply(select R.c.value(‘@bpNo’,’CHAR(6)’) as bpNo,

R.c.value(‘@MNo’,’VARCHAR(50)’) as MNo,

R.c.value(‘@MName’,’NVARCHAR(30)’) as MName

from t.a.nodes(‘cus’) R(c)) b

System.Text.StringBuilder sb = new System.Text.StringBuilder(“‘”);

for (int i = 0; i < count; i++)

{

sb.AppendFormat(““, i.ToString());//Guid.NewGuid().ToString());

}

sb.Append(“‘”);

************************* SqlBulkCopy ********************************

private static long SqlBulkCopyInsert()

{

Stopwatch stopwatch = new Stopwatch();

stopwatch.Start();

DataTable dataTable = GetTableSchema();

string passportKey;

for (int i = 0; i < count; i++)

{

passportKey = i.ToString();//Guid.NewGuid().ToString();

DataRow dataRow = dataTable.NewRow();

dataRow[0] = passportKey;

dataTable.Rows.Add(dataRow);

}

SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(connectionString);

sqlBulkCopy.DestinationTableName = “Passport”;

sqlBulkCopy.BatchSize = dataTable.Rows.Count;

SqlConnection sqlConnection = new SqlConnection(connectionString);

sqlConnection.Open();

if (dataTable != null && dataTable.Rows.Count != 0)

{

sqlBulkCopy.WriteToServer(dataTable);

}

sqlBulkCopy.Close();

sqlConnection.Close();

stopwatch.Stop();

return stopwatch.ElapsedMilliseconds;

}

https://www.cnblogs.com/zhuawang/category/89934.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值