Teradata - procedimento armazenado

Um procedimento armazenado contém um conjunto de instruções SQL e instruções procedurais. Eles podem conter apenas declarações processuais. A definição do procedimento armazenado é armazenada em banco de dados e os parâmetros são armazenados em tabelas de dicionário de dados.

Vantagens

  • Os procedimentos armazenados reduzem a carga da rede entre o cliente e o servidor.

  • Oferece melhor segurança, pois os dados são acessados ​​por meio de procedimentos armazenados em vez de acessá-los diretamente.

  • Oferece melhor manutenção, pois a lógica de negócios é testada e armazenada no servidor.

Procedimento de Criação

Procedimentos armazenados são criados usando a instrução CREATE PROCEDURE.

Sintaxe

A seguir está a sintaxe genérica da instrução CREATE PROCEDURE.

CREATE PROCEDURE <procedurename> ( [parameter 1 data type, parameter 2 data type..] ) 
BEGIN 
   <SQL or SPL statements>; 
END;

Exemplo

Considere a seguinte Tabela Salarial.

EmployeeNo Bruto Dedução Pagamento líquido
101 40.000 4.000 36.000
102 80.000 6.000 74.000
103 90.000 7.000 83.000
104 75.000 5.000 70.000

O exemplo a seguir cria um procedimento armazenado denominado InsertSalary para aceitar os valores e inserir na Tabela Salário.

CREATE PROCEDURE InsertSalary ( 
   IN in_EmployeeNo INTEGER, IN in_Gross INTEGER, 
   IN in_Deduction INTEGER, IN in_NetPay INTEGER 
) 
BEGIN 
   INSERT INTO Salary ( 
      EmployeeNo, 
      Gross, 
      Deduction, 
      NetPay 
   ) 
   VALUES ( 
      :in_EmployeeNo, 
      :in_Gross, 
      :in_Deduction, 
      :in_NetPay 
   ); 
END;

Procedimentos de execução

Os procedimentos armazenados são executados usando a instrução CALL.

Sintaxe

A seguir está a sintaxe genérica da instrução CALL.

CALL <procedure name> [(parameter values)];

Exemplo

O exemplo a seguir chama o procedimento armazenado InsertSalary e insere registros na Tabela Salário.

CALL InsertSalary(105,20000,2000,18000);

Uma vez que a consulta acima é executada, ela produz a seguinte saída e você pode ver a linha inserida na tabela Salário.

EmployeeNo Bruto Dedução Pagamento líquido
101 40.000 4.000 36.000
102 80.000 6.000 74.000
103 90.000 7.000 83.000
104 75.000 5.000 70.000
105 20.000 2.000 18.000