Neste
artigo vou mostrar o uso de transação e de declaração de variável nos Bancos de
Dados mais utilizados: SQL Server, Oracle e PostgreSQL.
As
vezes você pode por exemplo usar um SELECT pra retornar um ID e guardar ele em
uma variável para depois fazer várias ações com ele, e essas ações precisam ser
feitas por completo ou então você precisa desfazer o que foi executado
parcialmente. Nos exemplos a seguir, o trecho que executa o DELETE serve como exemplo para aonde as ações seriam colocadas.
Segue
o exemplo para SQL Server:
BEGIN TRANSACTION;
DECLARE @nomeVariavel tipoVariavel; (alguns tipos como CHAR e VARCHAR precisam do tamanho entre parenteses junto ao tipo : varchar(30))
SELECT @nomeVariavel = coluna
FROM tabela WHERE condição;
DELETE FROM tabela
WHERE coluna = @nomeVariavel;
IF @@ERROR <> 0
BEGIN
ROLLBACK TRANSACTION;
END
ELSE
BEGIN
COMMIT TRANSACTION;
END
Segue
o exemplo para Oracle:
DECLARE nome_da_variavel datatype;
BEGIN
nome_da_variavel := valor;
DELETE FROM tabela WHERE coluna = nome_da_variavel;
BEGIN
EXCEPTION WHEN others
THEN
ROLLBACK;
RAISE;
END;
COMMIT;
END;
E
por fim, segue o exemplo para PostgreSQL:
BEGIN;
DECLARE nome_da_variavel datatype;
nome_da_variavel
:= valor;
DELETE FROM tabela
WHERE coluna = nome_da_variavel;
BEGIN
EXCEPTION WHEN others THEN
ROLLBACK;
RAISE;
END;
COMMIT;
Pra
esse artigo é isso, espero que ajude.
Nenhum comentário:
Postar um comentário