批量插入

今天做的这个批量插入的存储过程比较简单,所以有很大的缺陷,虽然利用符合条件的字符串是可以实现的;但是有很多缺陷和问题,也没有实际功效,代码先贴在这里,以后修改,呵呵

批量插入
 1 SET ANSI_NULLS ON
2 GO
3 SET QUOTED_IDENTIFIER ON
4 GO
5 -- =============================================
6 -- Author: <Author,,Name>
7 -- Create date: <Create Date,,>
8 -- Description: <Description,,>
9 -- =============================================
10 CREATE PROCEDURE [dbo].[In_tab]
11 @tbname varchar(200),--表名字
12 @clums varchar(8000),--要插入的字段名
13 @value varchar(8000),--插入的值
14 @onechar varchar(200)--每一条记录之间的分割符
15 AS
16 declare @avslue1 varchar(1000)--要插入的一条信息
17 declare @sql nvarchar(2000)--要执行的SQL语句
18 declare @star int,@last int,@err int
19 set @star=1
20 set @err=0
21 BEGIN TRANSACTION
22 while CHARINDEX(@onechar,@value,@star)>0--判断其后是否还有信息
23 begin
24 select @last=CHARINDEX(@onechar,@value,@star)
25 print @last
26 select @avslue1=SUBSTRING(@value,@star,@last-@star)--取得字符串
27 set @sql='insert into '+@tbname+'('+@clums+') values('+@avslue1+')'
28 print @sql
29 exec sp_executesql @sql
30 set @err=@@ERROR+@err
31 set @star=@last+1
32 print @star
33 end
34 SET NOCOUNT ON;
35 if(@err<>0)
36 begin
37 ROLLBACK TRANSACTION--回滚
38 print '失败'
39 end
40 else
41 begin
42 COMMIT TRANSACTION--提交事务
43 print '成功'
44 end

 

转载于:https://www.cnblogs.com/zzqnet/archive/2011/12/09/2282550.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值