求导入语句
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...