Este é um post disponível para assinantes MVPartigo SQL Magazine 03 - Stored Procedures e Triggers no Oracle
Artigo da Revista SQL Magazine -Edição 3.
Atenção: por essa edição ser muito antiga não há arquivo PDF para download.
Os artigos dessa edição estão disponíveis somente através do formato HTML.

Stored Procedures e Triggers no Oracle
No artigo anterior conhecemos as estruturas da linguagem PL/SQL. Nesta edição, veremos a construção de triggers, stored procedures e functions, objetos que encapsulam e permitem a execução de blocos PL/SQL através de aplicações front
Stored Procedure é um bloco de código PL/SQL armazenado no servidor, que não retorna valor. As Stored Procedures são passivas, ou seja, alguma aplicação precisa solicitar sua execução. Function é um bloco PL/SQL que retorna valor. Assim como a stored procedure, uma function precisa ser solicitada por alguma aplicação.
Triggers também são procedimentos PL/SQL armazenados. A diferença é que triggers são ativas, ou seja, são acionadas automaticamente a partir de um evento que representa uma ação sobre a tabela. Esses eventos estão relacionados a comandos insert, update ou delete. Por exemplo, podemos associar uma trigger ao evento insert de uma tabela. Sempre que um registro for inserido nesta tabela, o código da trigger será executado, automaticamente. Uma trigger pode chamar uma stored procedure, que por sua vez pode chamar outra stored procedure.
Utilizando Triggers
Em relação a forma como são acionadas, existem três tipos de triggers:
Row
Statement
Instead
A trigger é acionada pelos comandos INSERT, DELETE ou UPDATE executados na tabela associada. Independente da trigger ser do tipo statement ou row
Observe a sintaxe para criação de uma trigger:
CREATE [ OR REPLACE ] TRIGGER
(INSTEAD OF / (BEFORE/AFTER)) Comando
ON Tabela
[ FOR EACH ROW ]
[ WHEN Condição ]
[ DECLARE lista de variávies/constantes/obetos ]
Begin
{ Bloco de códigos PL/SQL }
End;
Onde,
[ OR REPLACE ] : Não existe um comando do tipo ‘ALTER TRIGGER’. Essa cláusula permite alterar uma trigger já existente;
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP


0
0
