Bulk Insert - Passar Endereço via Parâmetros

SQL Server

13/07/2017

Pessoal,

A sintaxe padrão para executar o comando BULK INSERT é esta:

BULK
INSERT NOME_TABELA
FROM
'C:\\Solucao-Integradora\\pasta\\arquivo.csv'


Mas eu gostaria de passar o endereço do arquivo via parâmetro, algo do tipo:

DECLARE @CAMINHO AS VARCHAR(500)

SET @CAMINHO = 'C:\\Solucao-Integradora\\pasta\\arquivo.csv'

BULK
INSERT NOME_TABELA
FROM
@CAMINHO

Acontece que ao passar o endereço do arquivo por meio de variável o SQL Server não aceita.

Alguém poderia me ajudar?
Wellington Souza

Wellington Souza

Curtidas 0

Respostas

Fabiano Carvalho

Fabiano Carvalho

13/07/2017

Tente assim!

DECLARE @CAMINHO VARCHAR(500);
DECLARE @CMD VARCHAR(MAX);
SET @CAMINHO = 'C:\\\\Solucao-Integradora\\\\pasta\\\\arquivo.csv'

SET @CMD = 'BULK INSERT NOME_TABELA
FROM '''+@CAMINHO+''''
EXEC(@CMD)
GOSTEI 0
POSTAR