Procedure com insert, update e delete no SQL Server

Veja nesta dica como realizar as operações insert, update e delete em uma única procedure no SQL Server

Esta é uma procedure de exemplo, onde um flag (i, u , d) determina a operaçãoque será executada.

CREATE PROCEDURE sp_malotes @codmalote int, @numerolacre varchar(15), @origem varchar(50), @destino varchar(50), @operacao nchar(1), @novocodigo int output, @retorno nvarchar(50) output AS if lower(@operacao) = 'i' -- inserir um registro begin if exists(select numerolacre from tb_malote where numerolacre = @numerolacre) begin select @retorno = 'Numero lacre JÁ EXISTENTE.' return (@retorno) end else begin select @retorno = '' begin transaction insert into tb_malote (numerolacre, origem, destino ) values (@numerolacre, @origem, @destino ) set @novocodigo = @@identity --variavel global do SQL SERVER que retorna o ultimo valor de um campo(identity) end end else if lower(@operacao) = 'u' -- alterar um registro begin select @retorno = '' begin transaction update tb_malote set numerolacre = @numerolacre, origem = @origem, destino = @destino where codmalote = @codmalote end else if lower(@operacao) = 'd' -- excluir um registro begin select @retorno = '' begin transaction delete from tb_malote where codmalote = @codmalote end if @@error <> 0 begin rollback transaction return(1) end else begin commit transaction return(0) end
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados