Artigos Programação SQL

Criando stored procedure SQL para bulk insert e bulk update

Antes de começar, é importante explicar o que é bulk insert e bulk update. O bulk insert é uma técnica usada para inserir um grande número de registros em uma tabela de uma só vez, em vez de inserir os registros um por um. Já o bulk update é usado para atualizar um grande número de registros em uma tabela de uma só vez, em vez de atualizar os registros um por um.

Aqui está um exemplo de stored procedure que utiliza a técnica de bulk insert e bulk update:

CREATE PROCEDURE sp_BulkInsertAndUpdate
    @table_name VARCHAR(50),
    @insert_values VARCHAR(MAX),
    @update_values VARCHAR(MAX)
AS
BEGIN
    SET NOCOUNT ON;

    -- Realiza o bulk insert
    IF (@insert_values IS NOT NULL)
    BEGIN
        DECLARE @sql_insert NVARCHAR(MAX) = 'INSERT INTO ' + @table_name + ' VALUES ' + @insert_values;
        EXEC sp_executesql @sql_insert;
    END

    -- Realiza o bulk update
    IF (@update_values IS NOT NULL)
    BEGIN
        DECLARE @sql_update NVARCHAR(MAX) = 'UPDATE ' + @table_name + ' SET ' + @update_values;
        EXEC sp_executesql @sql_update;
    END
END

Explicando o código acima, a stored procedure recebe três parâmetros: o nome da tabela onde será realizado o bulk insert/update, uma string contendo os valores a serem inseridos na tabela (para bulk insert) e outra string contendo os valores a serem atualizados na tabela (para bulk update).

Na parte do código que realiza o bulk insert, é criada uma variável @sql_insert que armazena uma string contendo o comando SQL para inserir os valores na tabela. Essa string é concatenada com o nome da tabela e os valores passados como parâmetro. Em seguida, a stored procedure executa essa string utilizando a função sp_executesql.

Na parte do código que realiza o bulk update, é criada uma variável @sql_update que armazena uma string contendo o comando SQL para atualizar os valores na tabela. Essa string é concatenada com o nome da tabela e os valores passados como parâmetro. Em seguida, a stored procedure executa essa string utilizando a função sp_executesql.

Essa é uma forma simples de utilizar a técnica de bulk insert e bulk update em uma stored procedure em SQL. É importante lembrar que essa técnica pode ser muito útil em situações em que é necessário inserir ou atualizar um grande número de registros em uma tabela.

Lucas Dalcolmo

About Author

Sou desenvolvedor de software a mais de 13 anos com experiência nacioanl e internacional. Já produzi softwares para grandes empresas no Brasil e também bancos em Portugal. Possuo as certificações microsoft AZ-900, DP-900, AI-900 e AZ-204 (azure developer associate). Sou fundador da Dallm Games Studio (@dallmgamesstudio) e fui mentor em vários eventos de desenvolvimento de jogos. Também fui mentor do NASA SPACE JAM 2024 na área de desenvolvimento de software.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Receba as últimas notícias por email

    Cadastre-se, receba nossas novidades em primeira mão por email, antes de todo mundo.

    Codeinsider @2025. Todos os direitos reservados.

    Desenvolvido por House Comunicação