[firebase-br] SP para deletar com verficacao
Ricardo Ferreira Sobrinho
ricardoif em gmail.com
Seg Jan 28 16:17:06 -03 2008
Saudacoes a todos!
"Nois traveis".
Gostaria de saber a opnião de vocês à respeito da seguinte STORED PROCEDURE:
Excluir um Vendedor da tabela de Vendedores, desde que seu ID não esteja
atribuìdo a algum Pedido.
------------------------------------------------
SET TERM ^ ;
CREATE OR ALTER PROCEDURE SP_DELETE_VENDEDOR (
PID_VENDEDOR INTEGER)
AS
DECLARE VARIABLE VENDA_QUALQUER INTEGER;
BEGIN
SELECT COUNT(id_vendedor)
FROM pedido
WHERE id_vendedor = :pid_vendedor
INTO :venda_qualquer;
IF (venda_qualquer > 0) THEN
BEGIN
EXCEPTION reatrib_pedido;
SUSPEND;
END
DELETE FROM vendedor
WHERE id_vendedor =: pid_vendedor;
SUSPEND;
END^
SET TERM ; ^
GRANT SELECT ON PEDIDO TO PROCEDURE SP_DELETE_VENDEDOR;
GRANT SELECT,DELETE ON VENDEDOR TO PROCEDURE SP_DELETE_VENDEDOR;
GRANT EXECUTE ON PROCEDURE SP_DELETE_VENDEDOR TO SYSDBA;
------------------------------------------------
Resolvi fazer a verificação antes da exclusão, pois assim, já sai logo do
bloco.
O código do livro que estou estudando é parecido, más com a verificação no
final.
Acho o meu modo com mais benefícios, como velocidade...
--
Cordialmente,
Ricardo Ferreira Sobrinho
Mais detalhes sobre a lista de discussão lista