Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Referncias Bibliogrficas
Sistemas de Banco de Dados Elmasri, Navathe Introduo a Sistemas de Bancos de Dados, C.J. Date, Ed. Campus. Sistema de Banco de Dados, A Silberschatz, H.F. Korth, Ed. Makron Books
Linguagem Procedural
Introduo
Objetivo
Refora a arquitetura Cliente-Servidor
Caractersticas
Mescla os seguintes comandos:
Comandos de seleo (IF) Comandos de iterao (While, Loop, For) Comandos de BD (Select, Insert, Delete, Update)
Padro inexistente
PL/SQL Transact-SQL
Introduo ao PL/SQL
Linguagem PL/SQL
Caractersticas:
PL/SQL uma extenso da linguagem SQL. Linguagem procedural de 4a. gerao. Combinao de manipulao e processamento de dados no banco de dados Oracle.
Vantagens:
Alta performance de procedimentos armazenados no banco. Integrao com o dicionrio de dados do Oracle. Prov escalabilidade para as aplicaes. Portvel para qualquer ambiente Oracle. Suporte a programao orientada a Objetos.
Linguagem PL/SQL
Exemplo de um Bloco PL/SQL:
DECLARE Emp_number INTEGER := 9999; Emp_name VARCHAR2(10); BEGIN SELECT Ename INTO Emp_name FROM Emp_tab WHERE Empno = Emp_number; DBMS_OUTPUT.PUT_LINE('O Nome ' || Emp_name); END;
Character
Char(n) - 1 at 32767 bytes Varchar2(n) - 1 at 32767 bytes
Boolean - true, false e null Date - data (default: dia 01 do ms corrente) e hora (default: 12:00 a.m.) Rowid - endereo binrio de linha.
Comandos SQL
BEGIN SELECT mun.cdmunicipio, uf.sgestado,uf.dsestado INTO municipio,uf,estado FROM Municipio mun, Estado uf WHERE mun.sgestado = uf.sgestado ORDER BY uf.sgestado; ... SELECT dsNivelAtiv INTO nivel FROM AtividadeNivel ORDER BY cdNivelAtiv; ... END;
Estruturas do PL/SQL
Funes do PL/SQL
Categorias de Funes do PL/SQL: Tipo Number Tipo Char Tipo Date Converso de Tipos Controle de Erros
Tipo Number Funo Definio MOD(m,n) Retorna o resto da diviso de m por n. LTRIM(a,b) Remove a cadeia de caracteres que aparece esquerda Character SUBSTR(c,m,n) Retorna um pedao da cadeia de caracteres TO_CHAR(d,f) Converte a data para o formato especificado Conversion TO_DATE(c,f) Converte o caracter para uma data no formato especificado Date ROUND(d,f) Arredonda a data para o formato especificado
Funes do PL/SQL
Number ABS ACOS ASIN ATAN ATAN2 CEIL COS COSH EXP FLOOR LN LOG MOD POWER ROUND SIGN SIN SINH SQRT TAN TANH TRUNC Character ASCII CHR CONCAT INITCAP INSTR INSTRB LENGTH LENGTHB LOWER LPAD LTRIM NLS_INITCA NLS_LOWE NLSSORT NLS_UPPER REPLACE RPAD RTRIM SOUNDEX SUBSTR SUBSTRB TRANSLATE TRIM UPPER Conversion Date CHARTOROWI ADD_MONTH CONVERT HEXTORAW RAWTOHEX LAST_DAY MONTHS_BET NEW_TIME
Procedures:
CREATE OR REPLACE PROCEDURE Get_emp_rec (Emp_number IN Emp_tab.Empno%TYPE, Emp_ret OUT Emp_tab%ROWTYPE) IS BEGIN SELECT Empno, Ename, Job, Mgr, Hiredate, Sal, Comm, Deptno INTO Emp_ret FROM Emp_tab WHERE Empno = Emp_number; END;
BEGIN
OPEN c_empregado; LOOP FETCH c_empregado INTO stNome, stCPF; EXIT WHEN c_empregado%NOTFOUND; INSERT INTO Arquivo_morto (arqu_nome, arqu_CPF) VALUES (stnome, stcpf); END LOOP; CLOSE c_empregado;
END
Geralmente utilizado para realizar alguma operao de modificao no banco de dados ou garantir a integridade do mesmo