Neste post vou dar uma breve introdução a alguns tipos de de objetos PL/SQL.
- Function
- Package
- Trigger
- Package Body
- Procedure
Function: Função simples que pode receber parametros e retornar um tipo de valor.
Ex:
CREATE FUNCTION function_name RETURN INT IS BEGIN RETURN 1; END function_name;
Packages: Conjunto de procedures e functions.
Ex:
CREATE PACKAGE meupack AS FUNCTION function_name RETURN INT; END;
Trigger: Função disparada quando determinado evento ocorre em uma tabela ou no banco de dados, por ex: insert, Update, Delete…
Ex:
CREATE OR REPLACE TRIGGER NoAlter AFTER logon ON database DECLARE inteiro INT; BEGIN SELECT 1 INTO inteiro FROM DUAL; END;
Package Body: é um pacote no qual podemos alterar as funções e procedures sem impactar nas já criadas. É como se fosse um CTRL+C CTRL+V das funções e procedures em um novo pacote.
Ex:
CREATE OR REPLACE PACKAGE BODY meupack AS FUNCTION function_name RETURN INT IS BEGIN RETURN 1; END function_name; END meupack;
Procedure: Método sem retorno que pode receber diversos parametros. ( uma procedure pode alterar os valores dos parametros fornecidos, nesta caso podemos considerar que ela pode retornar multiplos resultados. )
Ex:
CREATE OR REPLACE PROCEDURE minhaProc AS inteiro INTEGER; BEGIN SELECT 1 INTO inteiro FROM DUAL; END minhaProc;
Apenas para ressaltar, uma procedure pode ter parametros IN e OUT, os parametros OUT podem ter seu valor alterado e usado como retorno.
Em breve vou detalhar mais cada um destes items, que são cobrados na prova Administration I.