当前位置:首页 >> 部位养生

求导入语句

2021-09-06 09:58 来源:莱西养生网

求sql导入语句

我有500多个csv文件,想导入SQL数据库内,数据库字段与文件字段是一样的,

如何写批量导入语句。

用动态sql

--以下是别人写的,

--第一步,先获取某一个文件夹下的所有txt 文件

create table tmp_filelist (cdrfile varchar(64))

go

exec _cmdshell \'dir D:\\\\4006\\400. YYYYMM\\*.txt /s/b D:\\\\4006\\400. YYYYMM\\list\'

-- -s:表示该文件夹下所有文本文件,包括子文件夹

-- -b:当前文件夹所有文本文件

-- :表示把当前文件列表存入指定的文件中

go

bulk insert tmp_filelist from N\'D:\\\\4006\\400. YYYYMM\\list\'

--用药bulk insert 命令把文件列表的文件名存入 数据表中

go

--第二步,利用游标把每一文件导入数据库中

--他这里是用bulk insert ,也可以用

--select * from opendatasource(\'edb.4.0\',\'text;hdr=no;database=路径\')...[文件名#txt]

truncate table tmp_cdr4006csv

declare @cdrfile varchar(64)

declare @sql nvarchar(256)

declare @cmd varchar(512)

declare cur_fl cursor for select * from tmp_filelist

open cur_fl

fetch next from cur_fl into @cdrfile

while @@fetch_status!=-1 begin

set @sql =\'BULK INSERT tmp_cdr4006csv FROM N\'\'\'+@cdrfile+\'\'\' WITH ( FIELDTERMINATOR = \'\',\'\')\' exec sp_executesql @sql

fetch next from cur_fl into @cdrfile

end

close cur_fl

deallocate cur_fl

declare @count int,@path varchar(200),@tb varchar(100),@cmd nvarchar(4000)

set @count =500

set @path=\'D:\\abc\\\'v

set @count=1

whiel @count =600

begin

set @cmd=\'bcp \'+@path + \'a\'+cast(@count as varchar)+\'.csv in \'+@tb+\' -c -t, -T\'

exec _cmdshell @cmd

set @count=@count=1

end

SQL codeif exists(select 1 from sysobjects where name=\'file2table\' and objectproperty(id,\'isprocedure\')=1)

drop procedure file2table

并打着广告语称PS3起码还有10年的寿命。在自身比较景气的时期 go

create procedure file2table

@servername varchar(200) --服务器名称

,@username varchar(200) --用户名,如果用nt验证方式,则为空\'\'

,@password varchar(200) --密码

,@tbname varchar(500) --数据库

,@filename varchar(1000) --导入/导出路径/文件名,如果@tbname参数指明是导出整个数据库,则这个参数是文件存放路径,文件名自动用表名.txt

,@isout bit --1为导出,0为导入

as

declare @sql varchar(8000)

------如果@tbname参数为ksoa类型,则默认导出整个数据库中的数据,如果@tbname参数为ksoa..spkfk则默认导出某个表的数据

begin --导出整个数据库,定义游标,取出所有的用户表

declare @m_tbname varchar(250)

if right(@filename,1)\'\\\' set @filename=@filename+\'\\\'--如果不是文件夹根目录,设置为根目录

set @m_tbname=\'declare #tb cursor for select name from \'+@tbname+\'.sobjects where xtype=\'\'u\'\'

and (name not like \'\'wms_%\'\' and name not like \'\'HR_%\'\' and name not like \'\'tmp_%\'\')\'

exec(@m_tbname)

open #tb

fetch next from #tb into @m_tbname

while @@fetch_status=0

begin

set @sql=\'bcp \'+@tbname+\'.\'+\'dbo.\'+@m_tbname+case when @isout=1 then \' out \' else \' in \' end

+ @filename+@m_tbname+\'.csv -w\' -- 注意

+\' /S \'+@servername +case when isnull(@username,\'\')=\'\' then \'\' else \' /U \'+@username end

+\' /P \'+isnull(@password,\'\')

exec _cmdshell @sql

fetch next from #tb into @m_tbname

end

close #tb

deallocate #tb

end

go

太原哪医院治疗妇科好
英太青胶囊和布洛芬哪个功效好
唐山白癜风医院哪家好
相关阅读
大白熊犬嘴边长了很多红包没事吧位置

大白熊犬嘴边长了一个红包包,是什么情况,求解答张牙舞爪:觉得买狗有点像皮肤病一看就知道是大白熊犬的嘴,跟我家的嘴巴很像嘴边又不能擦药,我觉得你还是去宠物医院征求下医生的意见吧如果别的地方都...

大白熊犬吸收不好吃的多不长个怎么回事位置

我家大白熊犬7个月大了,吸收一直不是很好, 一个月来只长了可怜的一斤肉,但是平时吃得也不少,每天2顿鱼子酱的狗粮,蛋黄,牛肉都吃的,还有发育宝钙片什么的补品,就是不吸收呀,宠物狗大便么一天次,...

大白熊犬吃骨头后开始干呕如何是好位置

昨晚大白熊犬吃了骨头 ,晚上躺着睡觉就开始肚子不是正常的呼吸那个样子,站起来就干呕 ,肚子一抽一抽的,是怎么回事啊丁香花:四个月的大白熊犬价格胃肠功能较弱,建议只吃狗粮。根据您的描述,有理由...

大白熊犬可以吃鸡蛋吗位置

导读:大白熊犬可以吃鸡蛋吗,鸡蛋富含多种氨基酸,是动物蛋白的较好的来源。大家都知道鸡蛋是营养丰富的美味食物,很多人都喜欢吃鸡蛋,我们饲养的大白熊狗狗也喜欢哦,可能有些谨慎的爱狗人士会问?鸡...

大白熊犬发情特征交配需要注意的事项位置

大白熊犬发情特征,当家里养的大白熊犬开始学会抱着主人的腿或者遛狗的时候发现自己狗狗会抱着别的狗狗的时候,有些饲主就误以为家里的狗狗发情了,其实并不然,这只是宣誓 的一种举动,那么大白熊犬真...

大白熊犬为什么会突然间浑身抽搐位置

我家养了只大白熊犬,昨天把狗窝拉塌了,我上去后,它就在地上浑身抽搐。一分钟后停了,但是起来晕忽忽的,走不成路,好象精神恍惚。几分钟就好了,没在意,今天中午又开始抽搐,大白熊犬到晚上抽搐了4...

友情链接