Curso Firebird SQL 27 - Stored Procedures

►► Clique em curtir e ajude a divulgar o meu trabalho ! ◄◄
Stored Procedure é uma coleção de comandos em SQL para otimização de Banco de dados. Encapsular tarefas repetitivas, aceita parâmetros de entrada e retorna um valor de status.

►► Confira os exemplos abaixo: ◄◄
Neste vídeo vamos criar os seguintes procedimentos:

Exemplo 1 - Somar dois valores:
 SET TERM ^ ;

CREATE PROCEDURE SomaValor
 ( nValor1 integer, nValor2 integer )
RETURNS
 ( nTOTAL integer )
AS

BEGIN
  /* write your code here */
  nTOTAL = nValor1 + nValor2;
END^

SET TERM ; ^


Exemplo 2 - Atualizar preço de produto com calculo percentual:
SET TERM ^ ;

CREATE PROCEDURE stAtualizaValor
 ( nCodigo, nPercentual )
AS
BEGIN
  /* write your code here */
  update PRODUTO
  set PRODUTO.PRO_VALOR = PRODUTO.PRO_VALOR + ((PRODUTO.PRO_VALOR * :nPERCENTUAL)/100)
  Where PRODUTO.PRO_CODIGO = :nCODIGO;
 
END^

SET TERM ; ^


Exemplo 3 - Incluir, Alterar ou Excluir registros:
 SET TERM ^ ;
ALTER PROCEDURE EDTPRODUTO (
    CTIPO varchar(1),
    NCODIGO integer,
    CDESCRICAO varchar(20),
    NVALOR numeric(6,2),
    NGRUPO integer )
AS
BEGIN
  /* write your code here */
  if (cTipo = 'I') then
     insert into PRODUTO
            (PRODUTO.PRO_CODIGO,PRODUTO.PRO_NOME, PRODUTO.PRO_VALOR, PRODUTO.PRO_GRUPO)
     values (:nCODIGO, :cDESCRICAO, :nVALOR, :nGRUPO);
  else
     if (cTIPO = 'A') then
        update PRODUTO
           set PRODUTO.PRO_NOME = :cDESCRICAO,
               PRODUTO.PRO_GRUPO= :nGRUPO,
               PRODUTO.PRO_VALOR= :nVALOR
         where PRODUTO.PRO_CODIGO = :nCODIGO;
     else
        if (cTIPO = 'E')  then
            delete from PRODUTO
            where PRODUTO.PRO_CODIGO = :nCODIGO;
  suspend;          
                     
     
END^
SET TERM ; ^




Comentários