在sql server2000里面我写了一个过程,可不知道为什么出错误了
目的是为了批量读取1-29张文本文件(.txt)
declare @i int
declare @str varchar(2000)
set @i=1
set @str='c:\'+@i+'txt' //这边是错误的
while @i<30
beginbulk insert cdr10001 from @str //因赋值是错的,改成bulk insert cdr10001 from 'c:\1.txt'就可以
with(
FIELDTERMINATOR=',',
ROWTERMINATOR='\n'
)
set @i=@i+1
end我想肯定是语法错误了,可真不知道怎么改
目的是为了批量读取1-29张文本文件(.txt)
declare @i int
declare @str varchar(2000)
set @i=1
set @str='c:\'+@i+'txt' //这边是错误的
while @i<30
beginbulk insert cdr10001 from @str //因赋值是错的,改成bulk insert cdr10001 from 'c:\1.txt'就可以
with(
FIELDTERMINATOR=',',
ROWTERMINATOR='\n'
)
set @i=@i+1
end我想肯定是语法错误了,可真不知道怎么改
declare @str varchar(2000)
set @i=1
set @str='c:\'+@i+'.txt' //这边是错误的
while @i<30
beginbulk insert cdr10001 from @str //因赋值是错的,改成bulk insert cdr10001 from 'c:\1.txt'就可以
with(
FIELDTERMINATOR=',',
ROWTERMINATOR='\n'
)
set @i=@i+1
end用EXEC 执行
c盘文件:
1,DSJ-120,电视机,1865.00,15
2,DSJ-180,电视机,2073.00,10
3,XYJ-13,洗衣机,486.00,20
4,XYJ-20,洗衣机,873.00,12
5,DBX-134,电冰箱,1456.00,8
6,DSJ-340,电视机,3726.00,5
7,WBL-6,微波炉,640.00,10
8,KTQ-12,空调器,2800.00,12
SQL:CREATE TABLE TESTBLUK
(
TID INT PRIMARY KEY,
TCODE VARCHAR(200),
TNAME varchar(100),
PRICE DECIMAL,
TCOUNT INT
)--FIELDTERMINATOR列分隔符 ROWTERMINATOR 行分隔符
BULK INSERT TESTBLUK FROM 'c:\Demo.txt' WITH (FIELDTERMINATOR = ',',ROWTERMINATOR = '\n')
select * from TESTBLUK
而且也提示语法错误
declare @str varchar(2000)
set @i=1
set @str='c:\'+LTRIM(@i)+'.txt'
while @i<30
beginexec('bulk insert cdr10001 from '''+@str+''' with(
FIELDTERMINATOR='','',
ROWTERMINATOR=''\n''
)')
set @i=@i+1
end