数组用存储过程插入数据的问题.

tatty_bad 2008-05-27 02:58:14
我现在有一个数组NewArray
数据格式如下:
a 3ab tad d3d3
3 dks sie d33d
3 3edff csd 3ded

现在想通过存储过程一次把所有数据写入,但是存储过程不支持数组直接写入,请问有什么办法可以实现??

这些数据都是不确定的,没有什么联系.每一行,就是一条记录,我给出的只是4列数据,其实大概有近50列,而数据一次需要写入的也大概在400条左右.一条一条的写效率就低了.请帮我一下,谢谢.
...全文
220 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
tatty_bad 2008-05-27
  • 打赏
  • 举报
回复
楼上这是通过什么方法?
我没看明白.
新鲜鱼排 2008-05-27
  • 打赏
  • 举报
回复
参考一下这个
http://blog.csdn.net/dutguoyi/archive/2007/11/11/1879416.aspx
kuangdp 2008-05-27
  • 打赏
  • 举报
回复
BULK INSERT test.dbo.[TB_1]
FROM 'C:\Documents and Settings\Administrator\桌面\123.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n' ,
TABLOCK

)

wpeng8218 2008-05-27
  • 打赏
  • 举报
回复
这样的数据好象没什么好方法,要么拼insert语句,要么将数据编写成文件导入咯!
utpcb 2008-05-27
  • 打赏
  • 举报
回复
先用repalce ,代替空格 然后写成SQL导入不就可以吗?
arrow_gx 2008-05-27
  • 打赏
  • 举报
回复
那就拼接 sql 吧

insert into table1(a,b,c,e) 
select 'a','3ab','tad','d3d3'
union
select '3','dks','sie','d33d'
......
nzperfect 2008-05-27
  • 打赏
  • 举报
回复
就一条一条的写,谁叫你有这需求呢
tatty_bad 2008-05-27
  • 打赏
  • 举报
回复
一次400多条数据,得400多次啊.
效率不会高的....
arrow_gx 2008-05-27
  • 打赏
  • 举报
回复
a 3ab tad d3d3
3 dks sie d33d
3 3edff csd 3ded

没办法直接实现,再如何优化,也不如直接在数组里面循环调用SQL语句插入表,代码最简洁,效率最高
wzy_love_sly 2008-05-27
  • 打赏
  • 举报
回复
50列,是多点,有什么好方法。。。。

tatty_bad 2008-05-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wzy_love_sly 的回复:]
拼成字串

SQL code
insert into ta(a,b,c)
select 'a','3ab','tad','d3d3' union all
select 'a','3ab','tad','d3d3' union all
select 'a','3ab','tad','d3d3'.............
[/Quote]

太多了,很多列的...
这样拼起来我觉得太麻烦了.
Limpire 2008-05-27
  • 打赏
  • 举报
回复
--> 类似这样的:
if object_id('tempdb.dbo.#T') is not null drop table #T
create table #T (C1 varchar(11),C2 varchar(11),C3 varchar(11),C4 varchar(11))
insert into #T
select 'a','3ab','tad','d3d3' union all
select '3','dks','sie','d33d' union all
select '3','3edff','csd','3ded'

select C1,C2,C3,C4 from #T

/*
C1 C2 C3 C4
----------- ----------- ----------- -----------
a 3ab tad d3d3
3 dks sie d33d
3 3edff csd 3ded
*/
wzy_love_sly 2008-05-27
  • 打赏
  • 举报
回复
拼成字串

insert into ta(a,b,c)
select 'a','3ab','tad','d3d3' union all
select 'a','3ab','tad','d3d3' union all
select 'a','3ab','tad','d3d3'.............
tatty_bad 2008-05-27
  • 打赏
  • 举报
回复
生成在表中?
什么意思,请说明白一些好吗?谢谢
-狙击手- 2008-05-27
  • 打赏
  • 举报
回复
把这些数据生成在表中

在过程中insert into tabelname select * from t

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧