Replace, Procedure
Por: Welder Jobstraibizer • 6/10/2016 • Trabalho acadêmico • 500 Palavras (2 Páginas) • 236 Visualizações
1) Procedure : Bloco de instruçoes sql que executa uma ou mais tarefas especificas. A procedure pode ou não ter valor de retorno. Uma procedure normalmente possui um cabeçalho e um corpo. O cabeçalho consiste do nome e parametros ou variaveis que serão passadas para a procedure. O corpo consiste da declaração e execução de uma seção. São criados dentro de pacotes ou em blocos de PL/SQL (no oracle).
2) Funcion : Bloco sql semelhante a procedure , tambem é feito em um bloco PL/SQL. Sempre retorna um valor.
3) CREATE OR REPLACE PROCEDURE PROC_CD [P_CD_NOME IN VARCHAR2, P_CD_PORC IS NUMBER]
AS
BEGIN
EXCEPITION
SELECT * FROM CD WHERE CD_NOME = P_ CD_NOME
4)
CREATE OR REPLACE PROCEDURE PROC_GRAV [P_GRAV_ID IS NUMBER , P_GRAV_NOME IS VARCHAR2 , P_GRAV_CONTATO IS VARCHAR2, P_GRAV_URL IS VARCHAR2]
AS
BEGIN
IF (P_GRAV_ID != ' ') AND (P_GRAV_NOME != ' ') AND (P_GRAV_CONTATO != ' ') AND (P_GRAV_URL != ' ') THEN
INSERT INTO GRAVADORA (GRAV_ID, GRAV_NOME, GRAV_CONTATO, GRAV_URL )
VALUES (1 , 'CALIPSO' , '123489654' , 'www.calipso.com.br')
COMMIT
ENDIF
EXCEPITION
WHEN OTHERS THEN
DBMS_OUTPUT_PUTLINE("CD NÃO CADASTRADO");
END;
5)
O PARAMETRO OUT É UTILIZADO APENAS PARA "TESTES", É PRECISO EXECUTA-LO EM BLOCO ANONIMO,
QUE POR SUA VEZ É UM TRECHO LIVRE DE CODIGO DIGITADO NBO SQL*PLUS E NAO É TRANSFORMADO EM PROCEDIMENTO OU FUNÇÃO.
já o OUT representa que este parâmetro será utilizado para retornar um valor de fora do procedimento.
CREATE OR REPLACE PROCEDURE PROC_CD [P_CD_MAIOR_PRECO IS V OUT NUMBER]
AS
BEGIN
IF (P_CD_MAIOR_PRECO != ' ' ) THEN
SELECT MAX(CD_MAIOR_PRECO) INTO V FROM CD WHERE CD_MAIOR_PRECO = P_CD_MAIOR_PRECO;
END IF;
EXCEPTION
WHEN OTHERS THEN
DBMS.OUTPUT.PUTLINE("ERRO");
END V;
6)
CREATE OR REPLACE FUNCTION FUNC_CD [P_CD_MAIOR_PRECO IS RETURN NUMBER
IS
VAL_CD NUMBER(3,2)
BEGIN
IF (P_CD_MAIOR_PRECO != ' ' ) THEN
SELECT MAX(CD_MAIOR_PRECO) INTO VAL_CD FROM CD WHERE CD_MAIOR_PRECO = P_CD_MAIOR_PRECO;
END IF;
RETURN
...