同一对象多条数据同时插入数据库

执行插入的存储过程

ALTER PROC [dbo].[proc_Products_InfoUpdate]

@FminAmount VARCHAR(MAX),

@FmaxAmount VARCHAR(MAX),

@FrateFloating VARCHAR(MAX)

AS

INSERT INTO dbo.Rate_Floating(bakProcId,minAmount,maxAmount,rateFloating)

SELECT @id,A.istr,B.istr,C.istr  from dbo.fsplit(@FminAmount,‘,‘) AS A

INNER JOIN dbo.fsplit(@FmaxAmount,‘,‘) AS B ON A.id=B.ID

INNER JOIN dbo.fsplit(@FrateFloating,‘,‘) AS C ON A.id=C.ID

上面的 @FminAmount 、@FmaxAmount、@FrateFloating  是参数

如下:@FminAmount 的值为:张三,李四,王五  @FmaxAmount值为:男,女,男  以此类推


张三



19


李四



20


王五



19

dbo.fsplit是一个自定义函数,需要传入的参数是:需要分割的字符串,分割字符

ALTER   function    [dbo].[fsplit](

@str   varchar(8000)

,@spli   varchar(10)

)

returns   @re   table(id int identity,istr   varchar(8000))

as

begin

declare   @i   int,@splen   int

select   @splen=len(@spli) ,@i=charindex(@spli,@str)

while   @i>0

begin

insert   into   @re   values(left(@str,@i-1) )

select   @str=substring(@str,@[email protected],8000)

,@i=charindex(@spli,@str)

end

if   @str<>‘‘   insert   into   @re   values(@str)

return

end

时间: 2024-08-01 13:22:42

同一对象多条数据同时插入数据库的相关文章

我也来学着写写WINDOWS服务-解析xml抓取数据并插入数据库

项目告一段落,快到一年时间开发了两个系统,一个客户已经在试用,一个进入客户测试阶段,中间突然被项目经理(更喜欢叫他W工)分派一个每隔两小时用windows服务去抓取客户提供的外网xml,解析该xml,然后将截取的节点字段值插入到已经建好相应结构的表中.并记录日志. xml结构概要如下: <?xml version="1.0" encoding="UTF-8"?> <list> <info> <id>93ef7c7ccc

使用SqlBulkCopy将DataTable中的数据批量插入数据库中

#region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// <summary> /// 注意:DataTable中的列需要与数据库表中的列完全一致. /// </summary> /// <param name="conStr">数据库连接串</param> /// <param name="strTableName">数据库中对应的表名</param> //

Android数据库更新&mdash;&mdash;上万条数据的插入

在实际情况下,很可能遇到会向一个表中插入10万条数据,而这样的数据库更新,如果用寻常的方式,在SQLiteOpenHelper.onUpdate()方法中不断的执行SQL语句,那么效率是可想而知的,甚至可能造成整个应用的崩溃! 解决方案: 遇到这种情况,其解决方案应为,用做好的db文件替换之前的数据库文件.当然,有人可能有疑问,这样的话,怎么写入到data/data目录下.这个的确是个问题,可是,我们可以将该数据库存放在SD卡目录下.当然,数据库存放在SD卡目录中,的确是对安全性的妥协. 实现步

将Excel上千条数据写入到数据库中

简要说明:因工作需要,需要一张Excel表格中的所有数据导入到数据库中.如下表,当然这只是一部分,一共一千多条. 前期处理: 首先要保证上图中的Excel表格中的数据不能为空,如果有为空的数据,可以稍微进行处理,比如将所有为空的数据替换成加一个空格.(我的这个解析器只能解析Microsoft Excel 97-2003 工作表 (.xls)这个格式的表格,如果不是这个形式的需要进行转化.) 然后就是找一个添加页面,添加一个上传附件的功能,即添加一个type类型为file的input标签.比如 <

极限挑战—C#+ODP 100万条数据导入Oracle数据库仅用不到1秒

链接地址:http://www.cnblogs.com/armyfai/p/4646213.html 要:在这里我们将看到的是C#中利用ODP实现在Oracle数据库中瞬间导入百万级数据,这对快速批量导入的实现有重要意义. .Net程序中可以通过ODP调用特性,对Oracle数据库进行操作,今天来讲一下数据批量插入的功能,所用技术不高不深,相信很多朋友都接触过,小弟班门弄斧了,呵呵.这篇文章是上篇文章的续集,因为上一次试验的征集结果没有突破4秒的方法,所以这次继续挑战与挖掘新方法,虽然是Orac

ftp读取txt数据并插入数据库

去官网下载http://enterprisedt.com/ .netftp组件 目前最新版本为2.2.3,下载后在bin目录中找到edtFTPnet.dll,在项目中添加引用. using EnterpriseDT.Net.Ftp; public partial class test_ftp : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {         if (!IsPostBack)

大数据批量插入数据库使用(SqlBulkCopy )效率更高

SqlBulkCopy类是System.Data.SqlClient下的类,我们开发中不常用,甚至不知道有这么一个类的存在,但确实比sql插入,事务批量插入,sql批量拼接插入快很多,比调用存储过程插入方便 下面是它的用法: public static bool ExecuteTransactionScopeInsert(DataTable dt, int batchSize) { int count = dt.Rows.Count; string tableName = "TestTable&

大数据批量插入数据库

public void ExecuteBuklCopy(DataTable dt) { SqlConnection conn = new SqlConnection(connectionString ); if (dt == null || dt.Rows.Count <= 0 || String.IsNullOrEmpty ( dt.TableName ) ) { return; } if (conn.State != ConnectionState.Open) { conn.Open();

并发下,使用redis防止数据重复插入(数据库未对表字段设置唯一情况下)

@Controller @RequestMapping("/myTest") public class TestController {     @Autowired(required = false)     private TestService testService;          @Autowired     private RedisUtil redisUtil;     @RequestMapping("add")     public void