none
Procedure com bulk insert

    Question

  • Prezados estou tentando criar um procedure de importação, comp a seguinte:

    CREATE PROCEDURE SP_IMPORT

    @Cam_arquivo text,

    AS

    BEGIN

    BULK INSERT SEF_TABPONTE FROM @Cam_arquivo 

    WITH(FORMATFILE = 'Z:\\import2rows.FMT')

    END

    Mas aparece a seguinte mensagem de erro:

    Mensagem 102, NÌvel 15, Estado 1, Procedimento SP_IMPORT, Linha 5

    Incorrect syntax near '@Cam_arquivo'.

    Mensagem 319, NÌvel 15, Estado 1, Procedimento SP_IMPORT, Linha 6

    Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.

    Alguem poderia me ajudar?

    Agradeço desde já

    Wednesday, December 12, 2012 1:23 PM

All replies

  • Alexpps,

    Não é possível fazer esse tipo de comando usando o caminho do arquivo como parâmetro numa procedure. Para isso você vai ter que usar dynamic sql, aqui tem um exemplo de como funciona o comando, você teria que ajustar para as suas necessidades: Dynamic BULK INSERT PROCEDURE.

    Wednesday, December 12, 2012 3:59 PM