1
バルクロードを行うこのコードはあります。うまく動作しますが、私は@BatchFileName
をそこに列として持っていたいと思います(各行に同じ値が入っています)。SQL Serverのバルクロード中にファイル名を挿入します。
バルクロード中にこれは可能ですか?または、後で別の関数で追加するにはどうすればよいですか?
おかげで、事前に
バルクロードを行うこのコードはあります。うまく動作しますが、私は@BatchFileName
をそこに列として持っていたいと思います(各行に同じ値が入っています)。SQL Serverのバルクロード中にファイル名を挿入します。
バルクロード中にこれは可能ですか?または、後で別の関数で追加するにはどうすればよいですか?
おかげで、事前に
iは、ディレクトリ内のbulkinsertファイルを反復処理し、このスクリプトを使用します。
create table #x (name varchar(200))
DECLARE @query varchar (1000),@conta int ,@query2 varchar (1000),@NOME varchar(50)
set @conta=1
set @query ='master.dbo.xp_cmdshell "dir '+'C:\directoryname'+'*.csv' +' /b"'
insert #x exec (@query)
delete from #x where name is NULL
select identity(int,1,1) as ID, name into #y from #x
drop table #x
WHILE @conta<221 --number of files
BEGIN
SELECT @NOME=name FROM #y WHERE [email protected]
set @Query2 ='BULK INSERT [dbo].[tablename] FROM '+ '''C:\directoryname'[email protected]+'''
WITH (
FIELDTERMINATOR = '','',ROWTERMINATOR = ''0x0a'')'
SELECT @query2
exec (@Query2)
set @[email protected]+1
END
drop table #y