求导入语句的
2021-09-06 09:58 来源:莱西养生网
求sql导入语句
我有500多个csv文件,想导入SQL数据库内,数据库字段与文件字段是一样的,
如何写批量导入语句。
用动态sql
--以下是别人写的,
--第一步,先获取某一个文件夹下的所有txt 文件
create table tmp_filelist (cdrfile varchar(64))
go
exec _cmdshell \"dir D:. YYYYMM*.txt /s/b D:. YYYYMMlist\"
本次举办《成吉思汗2》百万玩家狂欢盛典并未按照传统线下发布会的形式 -- -s:表示该文件夹下所有文本文件,包括子文件夹
-- -b:当前文件夹所有文本文件
-- :表示把当前文件列表存入指定的文件中
go
bulk insert tmp_filelist from N\"D:. YYYYMMlist\"
--用药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
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
昆明白癜风医院哪家好南阳白癜风专科
南昌男科较好医院
- 上一篇:永中软件正式发布网络版呢
- 下一篇:求导入语句
-
大白熊犬嘴边毛发黄怎么办如何解决位置
很多时候我们都会发现自家大白熊犬嘴周围的毛发是脏的,时间长了之后就会慢慢变黄,这不仅会影响到大白熊犬的美观,对于它们的健康也是有一定影响的,因此作为主人的我们一定要想办法为宠物狗解决这一问...
-
大白熊犬听话吗从小引导训练它们位置
大白熊犬听话吗,一般没有经过训练的大白熊,它们身上的野性是比较强的,所以一般不怎么会听从主人的指令,所以要在大白熊幼犬的时候就应该对它们进行训练,这样可以让它们在训练中养成良好的生活习惯,...
-
大白熊犬吃驱虫药后没精神这是怎么回事位置
大白熊犬领回家五六天了,两三个月大。 大便胃口都正常,卖家说疫苗过了但是我半信半疑还是准备再过几天带它去打。 昨天中午喂它吃了四分之一颗拜耳,卖狗大便很湿很软但是不是拉稀,也没看到虫子,也没...
-
大白熊犬可以吃水果吗位置
请问专家,大白熊犬可以吃水果吗?徘徊者:可以吃的,但是葡萄草莓之类的不能吃,你家大白熊犬可能太小了,所以吃了不消化,其实吃苹果对大白熊犬补充维生素的效果很好,还有西瓜皮可以清火,胡萝卜大白...
-
大白熊犬发情期可以打疫苗吗位置
我家大白熊犬离去年疫苗期一年了,到了打疫苗的时间了,可是现在突然来了例假了!能不能打疫苗啊?快乐仔:最好不要打。大白熊犬发情期是一个很敏感的时期,大白熊犬身体里的激素会不平衡,抵抗病毒的细...
-
大白熊犬为什么会添墙皮是缺少营养吗位置
今天突然看见大白熊犬添墙皮,是缺少什么营养吗?粉花飞舞:这和人类的一些异食癖是一样的,有的人会忍不住吃石灰,吃报纸,同样你家大白熊犬也是这样,说明你家大白熊犬身体里缺少一些微量元素,建议你...