Oracle PL/SQL Overview

Tamanho: px
Começar a partir da página:

Download "Oracle PL/SQL Overview"

Transcrição

1 Faculdades Network Oracle PL/SQL Overview Prof. Edinelson

2

3 PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade no acesso a banco de dados obtidas via SQL. PL/SQL é proprietária da Oracle

4 PL/SQL É uma extensão da linguagem SQL e que incorpora recursos procedurais à mesma. Variáveis e tipos Estruturas de Controle Stored procedures Procedures e functions Packages Tratamento de erros As instruções SQL podem ser utilizadas normalmente nos programas e blocos PL/SQL.

5

6 Pode-se escrever programas e criar bibliotecas que podem ser reutilizadas em diferentes ambientes.

7 Benefícios Os programas podem ser transportados para qualquer ambiente (SO ou plataforma) que suporte o servidor Oracle e PL/SQL, ou seja, os programas PL/SQL podem ser executados em qualquer lugar onde o servidor Oracle está rodando.

8 Ambiente Servidor Oracle 10g Cliente SQL Plus SQL Developer

9 Estrutura de um bloco PL/SQL DECLARE -- declarações BEGIN -- instruções END;

10 Estrutura de um bloco PL/SQL DECLARE (opcional) - Declarações de variáveis, constantes, cursores e exceções definidas pelo usuário BEGIN (obrigatório) - Instruções SQL - Instruções/comandos PL/SQL EXCEPTION (opcional) - Ações a serem desempenhadadas quando ocorrem erros END; (obrigatório)

11 Pode existir bloco dentro de bloco Blocos PL/SQL

12 Declaração de variáveis

13 Uso de variáveis Armazenamento temporário Manipulação de valores armazenados Reutilização Facilidade de manutenção

14 Manipulando Variáveis em PL/SQL Declarar e inicializar as variáveis na seção declare. Atribuir novos valores às variáveis na seção executável. Passar valores aos blocos PL/SQL através de parâmetros (variáveis de ligação). Ver os resultados pelas variáveis de saída (variáveis do ambiente de chamada).

15 Variáveis PL/SQL Variáveis PL/SQL: Escalar (valores únicos =>char, varchar2, number, date, etc) Composta (registros) Referência (ponteiros) LOB (objetos grandes) (especificam a localização de objetos grandes. Ex: imagens) Variáveis Não-PL/SQL: bind or host variables Usadas para passar valores obtidos durante a execução de PL/SQL para o ambiente SQL*Plus

16 Tipos de variáveis

17 Tipos de dados escalares básicos CHAR [(tam máximo)] VARCHAR2 (tam máximo) LONG LONG RAW Number [(precisão,casas decimais)] BOOLEAN (true, false, null) DATE TIMESTAMP BINARY_INTEGER e PLS_INTEGER (requer menos espaço de armazenamento que NUMBER)

18 Declaração e atribuição Delimitada por ;

19 PL/SQL Declaração de Variáveis Cada variável deve ser declarada seguida de seu tipo, isto é, não é possível reaproveitar uma declaração de tipo. Ex.: Correto: salario_anual Number(5,2); salario_mensal Number(5,2); dta_nasc Date := Sysdate; Errado: salario_anual, salario_mensal Number(5,2);

20 Regras de nomeação Duas variáveis podem ter o mesmo nome, contanto que elas estejam em blocos diferentes. O nome da variável não deve ser igual ao nome das colunas de tabela usado no bloco.

21 Constantes A declaração de constantes é idêntica a de variáveis; com um adendo, a utilização da palavra CONSTANT. Ex.: novopreco CONSTANT real :=3.54;

22 Inicialização e palavras chave Operador de atribuição ( := ) Palavra chave DEFAULT Restrição NOT NULL

23 Mais exemplos

24 PL/SQL Declaração de Variáveis O atributo %Type permite que se utilize: O tipo de outra variável anteriormente declarada O tipo de uma coluna de uma tabela Ex: v_ultimo_nome v_prim_nome Func.nome%Type; v_ultimo_nome%type;

25 Vamos analisar o exemplo

26 Exemplo1.sql Testando - 1º. Exemplo Set serveroutput on DECLARE v_inv_value number(10,2); v_price number(8,2) := 10.25; v_quantity number(8,0) := 10; BEGIN v_inv_value := v_price * v_quantity; dbms_output.put('o valor é '); dbms_output.put_line(v_inv_value); END; /

27 Atenção PL/SQL not designed for user interface programming

28 Estruturas de Controle IF / Then / Else IF / Then / Elsif

29 Controlando o Fluxo de Execução PL/SQL Pode-se alterar o fluxo lógico de instruções usando estruturas para controle de loop e instruções IF condicionais. Instruções IF condicionais: IF-THEN-END IF IF-THEN-ELSE-END IF IF-THEN-ELSIF-END IF

30 Instrução IF

31 Instrução IF

32 Instrução IF

33 Instruções IF-THEN-ELSE

34 Instruções IF-THEN-ELSE

35

36 If Var1 > 10 then Var2 := Var ; Else Var2 := Var1 * Var1 ; End If ; If Var1 > 10 then Var2 := Var ; Else If Var1 between 7 and 8 then Var2 := 2 * Var1; Else Var2 := Var1 * Var1 ; End If ; End If ;

37 PL/SQL ESTRUTURA DA LINGUAGEM CARACTERES SUPORTADOS Todo alfabeto maiúsculo e minúsculo Algarismos de 0 a 9 Símbolos especiais: ( ) + - * / < > =! ~ ; %, # & $ _ { }? [ ]. OPERADORES ARITMÉTICOS + Adição - Subtração * Multiplicação / Divisão ** Exponenciação OPERAÇÕES RELACIONAIS < > Diferente > Maior ^ = Diferente < Menor! = Diferente > = Maior Igual = Igual < = Menor Igual

38 Controle Interativo

39 Controle Interativo: Instruções Loop

40 Loop Básico

41 Loop Básico

42 Loop WHILE

43 Loop WHILE

44 Loop FOR

45 Loop FOR - Exemplo

46 Loop FOR

47 Diretrizes para o uso de Loops Use um Loop básico quando os comandos dentro do mesmo precisam ser executados ao menos uma vez Use um While se a condição deve ser avaliada primeiro Use o FOR quando você conhece a quantidade de iterações

48 Começando a programar em PL/SQL Exemplo2.sql: Criação da tabela teste Create table teste (num number(4), data date, observação varchar2(100));

49 Exemplo3.sql Começando a programar em PL/SQL declare cont int:=0; begin for cont in loop insert into teste values (cont, sysdate, 'Numero ' cont); end loop; end;

50 exemplo4.sql Exemplo do comando While declare cont int:=0; begin delete from teste; while cont <= 5 loop insert into teste values (cont, sysdate, 'Numero ' cont); cont:=cont+1; end loop; end;

51 exemplo5.sql Mais um exemplo. declare cont int:=0; Begin delete teste; for cont in loop if mod(cont,2) = 0 then insert into teste values (cont, sysdate, 'PAR'); else insert into teste values (cont, sysdate, 'IMPAR'); end if; end loop; end;

52 Instruções SQL em PL/SQL

53 Select em PL/SQL Extrair apenas uma linha de dados de um banco de dados usando o comando SELECT. Fazer alterações nas linhas no banco de dados usando os comandos DML. Comportamento de uma transação (COMMIT, ROLLBACK ou SAVEPOINT) em PL/SQL.

54 Select em PL/SQL

55 Select em PL/SQL

56 Select em PL/SQL

57 Insert

58 Cursores Cursores são trechos alocados de memória destinados a processar as declarações SELECT. Podem ser definidos pelo próprio PL/SQL, chamados de Cursores Implícitos, ou podem ser definidos manualmente, são os chamados de Cursores Explícitos.

59 Cursores Explícitos Esta técnica exige que o cursor seja declarado manualmente na seção DECLARE, e deve conter somente declarações SELECT. Para a sua utilização os seguintes passos devem ser observados: 1. Declarar o Cursor 2. Abrir o Cursor ( Preparar para sua utilização ) Open 3. Buscar os dados Fetch 4. Liberar memória após o uso ( Fechar o Cursor ) Close

60 Cursores Explícitos

61 Cursores Explícitos

62 Declarando o Curso

63 Exemplo Exemplo6.sql DECLARE v_empno employees.employee_id%type; v_ename employees.last_name%type; CURSOR emp_cursor IS SELECT employee_id, last_name FROM employees; BEGIN OPEN emp_cursor; FOR i IN LOOP FETCH emp_cursor INTO v_empno, v_ename; DBMS_OUTPUT.PUT_LINE (TO_CHAR(v_empno) ' ' v_ename); END LOOP; END; /

64 Exemplo7.sql Cursor Exemplo DECLARE CURSOR emp_cursor IS SELECT employee_id, last_name FROM employees; emp_record emp_cursor%rowtype; BEGIN OPEN emp_cursor; LOOP FETCH emp_cursor INTO emp_record; EXIT WHEN emp_cursor%notfound; INSERT INTO temp_list (empid, empname) VALUES (emp_record.employee_id, emp_record.last_name); END LOOP; COMMIT; CLOSE emp_cursor; END; /

65 Procedures Uma procedure nada mais é do um bloco PL/SQL nomeado. A grande vantagem sobre um bloco PL/SQL anônimo é que pode ser compilado e armazenado no banco de dados como um objeto de schema. Graças a essa característica as procedures são de fácil manutenção, o código é reutilizável e permitem que trabalhemos com módulos de programa. Uma procedure é, então, um bloco PL/SQL nomeado que pode aceitar argumentos (também chamado de parâmetros) e pode ser chamada por um programa, uma sessão SQL ou uma trigger.

66 Sintaxe: Exemplo: Procedimentos CREATE [OR REPLACE] PROCEDURE procedure_name (parameter1 [mode1] datatype1, parameter2 [mode2] datatype2, ) IS AS PL/SQL Block SQL> CREATE OR REPLACE PROCEDURE raise_salary 2 (v_id in emp.empno%type) 3 IS 4 BEGIN 5 UPDATE emp 6 SET sal = sal * WHERE empno = v_id; 8 END raise_salary; 9 / Executar: SQL> EXECUTE raise_salary (7369) PL/SQL> raise_salary(7369)

67 Sintaxe: Funções CREATE [OR REPLACE] FUNCTION function_name (parameter1 [mode1] datatype1, parameter2 [mode2] datatype2, ) RETURN datatype IS AS PL/SQL Block Exemplo: SQL> CREATE OR REPLACE FUNCTION get_sal 2 (v_id IN emp.empno%type) 3 RETURN NUMBER 4 IS v_salary emp.sal%type :=0; 5 BEGIN 6 SELECT sal INTO v_salary 7 FROM emp WHERE empno = v_id; 8 RETURN (v_salary); 9 END get_sal; 10 /

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL PL/SQL Laboratório de Bases de Dados PL/SQL Program Language SQL linguagem de programação da Oracle que permite processar dados armazenados no banco de dados Exemplos de operações permitidas alterar, remover,

Leia mais

Oracle 10g: SQL e PL/SQL

Oracle 10g: SQL e PL/SQL Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação

Leia mais

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com SQL Procedural Josino Rodrigues Neto josinon@gmail.com SQL Procedural Agregada em SQL-92 As ferramentas têm nomes para suas linguagens SQL procedurais/embutidas Oracle : PL/SQL Postgres PL/Pgsql SQL Server

Leia mais

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco

Leia mais

Logado no OracleXE vamos acessar a opção:

Logado no OracleXE vamos acessar a opção: Tutorial PL/SQL O PL/SQL é uma linguagem procedural que roda diretamente no núcleo do SGBD Oracle. O objetivo deste tutorial é mostrar a criação de funções e procedimentos em PL/SQL, interagindo com comandos

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html

Leia mais

PL/pgSQL por Diversão e Lucro

PL/pgSQL por Diversão e Lucro PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro ! Transact-SQL (T-SQL) Extensão ao SQL Permite controlo do fluxo de execução Permite comandos DDL (contrariamente ao PLSQL) T-SQL combina: poder de manipulação de dados

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

Leia mais

Consultoria e Treinamento em Bancos de Dados Relacionais

Consultoria e Treinamento em Bancos de Dados Relacionais Tabela de conteúdos CREATE TABLE AS...1 CREATE DOMAIN...1 Funções de dados...2 Funções de data e hora...2 Funções de agregação...3 Expressões condicionais...4 CASE...4 COALESCE...4 NULLIF...4 Controle

Leia mais

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS Profº Erinaldo Sanches Nascimento Introdução Cursor é usado para percorrer um conjunto de linhas retornadas por uma consulta

Leia mais

Funções Definidas pelo Usuário

Funções Definidas pelo Usuário BD II (SI 587) Funções Definidas pelo Usuário Prof. Josenildo Silva jcsilva@ifma.edu.br Funções definidas pelo usuário Funções precisam obrigatoriamente retornar um valor Somente aceitam parâmetros do

Leia mais

Linguagem PL/SQL e Triggers

Linguagem PL/SQL e Triggers TECNOLOGIA DE BASES DE DADOS Linguagem PL/SQL e Triggers António Manuel Silva Ferreira UNIVERSIDADE DE LISBOA FACULDADE DE CIÊNCIAS DEPARTAMENTO DE INFORMÁTICA asfe@di.fc.ul.pt Sumário Linguagem PL/SQL

Leia mais

FUNCTION ) RETURNS INTEGER AS $$ DECLARE

FUNCTION ) RETURNS INTEGER AS $$ DECLARE PERFORM O comando PERFORM permite a execução de um comando SELECT desprezando o resultado do comando. PERFORM query; A variável especial FOUND é definida como verdadeiro se a instrução produzir pelo menos

Leia mais

Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos

Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos Bases de Dados Stored procedures e triggers Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção

Leia mais

Hugo Pedro Proença, 2007

Hugo Pedro Proença, 2007 Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações

Leia mais

BD II (SI 587) Procedimentos Armazenados

BD II (SI 587) Procedimentos Armazenados BD II (SI 587) Procedimentos Armazenados Josenildo Silva jcsilva@ifma.edu.br MOTIVAÇÃO Contexto: Sistemas em 2 camadas Contexto: Sistemas em 3 camadas Problema 1: Alto volume de dados na rede Como reduzir

Leia mais

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK

Leia mais

PROCEDURES, FUNÇÕES, PL/SQL, CURSORES, VIEW, ÍNDICE e SEQUÊNCIA. Stored procedure PL/SQL. Procedimentos e Funções. Procedimento (procedure) Procedure

PROCEDURES, FUNÇÕES, PL/SQL, CURSORES, VIEW, ÍNDICE e SEQUÊNCIA. Stored procedure PL/SQL. Procedimentos e Funções. Procedimento (procedure) Procedure PROCEDURES, FUNÇÕES, PL/SQL, CURSORES, VIEW, ÍNDICE e SEQUÊNCIA Stored procedure Uma Stored procedure é um grupo de comandos SQL e PL/SQL que executam determinada tarefa e podem ser invocados por um nome.

Leia mais

Controle de transações em SQL

Controle de transações em SQL Transações Controle de transações em SQL Uma transação é implicitamente iniciada quando ocorre uma operação que modifica o banco de dados (INSERT, UPDATE ou DELETE). Uma transação pode terminar normalmente

Leia mais

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) 8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras

Leia mais

FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE

FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE Formando: Dyckson Dyorgio Dolla Orientador: Prof. Everaldo Artur Grahl Julho / 2001 ROTEIRO DA

Leia mais

Banco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II PL/SQL - Procedures -Cursor - Funções Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

Bancos de Dados I. Integridade semântica

Bancos de Dados I. Integridade semântica Bancos de Dados I PUC-Rio Departamento de Informática (DI) Eng./Ciência da Computação e Sist. Informação Contrôle de Integridade em SGBDs: procedimentos armazenados, gatilhos e funções Prof. sergio@inf.puc-rio.br

Leia mais

SQL Gatilhos (Triggers)

SQL Gatilhos (Triggers) SQL Gatilhos (Triggers) Laboratório de Bases de Dados Gatilho (trigger) Bloco PL/SQL que é disparado de forma automática e implícita sempre que ocorrer um evento associado a uma tabela INSERT UPDATE DELETE

Leia mais

Create Sequence Cria uma sequence. Uma sequence é um objeto que permite vários usuários gerarem valores inteiros sem repetição.

Create Sequence Cria uma sequence. Uma sequence é um objeto que permite vários usuários gerarem valores inteiros sem repetição. Conceitos PL/Sql Create Sequence Cria uma sequence. Uma sequence é um objeto que permite vários usuários gerarem valores inteiros sem repetição. Sintaxe CREATE SEQUENCE [schema.]sequence [INCREMENT BY

Leia mais

PL/SQL. Linguagens hospedeiras

PL/SQL. Linguagens hospedeiras PL/SQL Linguagens hospedeiras Aplicações interrogar a BD tomar decisões dialogar com o utilizador etc. linguagem de programação convencional C, Cobol, Ada, Java linguagem de manipulação de dados optimizada

Leia mais

Triggers no PostgreSQL

Triggers no PostgreSQL Triggers no PostgreSQL Traduzido do manual do PostgreSQL Pode-se utilizar PL/pqSQL para a definição de triggers (gatilhos). Um procedimento do tipo trigger é criado com o comando CREATE FUNCTION, declarando

Leia mais

INTRODUÇÃO AO PL/SQL

INTRODUÇÃO AO PL/SQL INTRODUÇÃO AO PL/SQL ALEX JOSE SILVA RECIFE/2015 Índice Introdução Ao Pl/Sql...3 Entendendo a linguagem...4 Principais características da linguagem PL/SQL...5 Blocos de código...5 Declaração de variáveis...5

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

Bases de Dados 2007/2008. Aula 8

Bases de Dados 2007/2008. Aula 8 Bases de Dados 2007/2008 Aula 8 1. T-SQL 2. VARIÁVEIS 3. CURSORES 4. PROCEDIMENTOS 5. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql

Leia mais

Monitoria GDI Aula Prática. DML + PL/SQL parte 1

Monitoria GDI Aula Prática. DML + PL/SQL parte 1 Monitoria GDI Aula Prática DML + PL/SQL parte 1 DML linguagem de manipulação de dados SQL Estrutura básica de uma consulta SQL SELECT Coluna1[,Coluna2[,Coluna3[,...]]] FROM Tabela1[,Tabela2[,...]] WHERE

Leia mais

PL/pgSQL. Introdução. Introdução. Introdução

PL/pgSQL. Introdução. Introdução. Introdução Introdução PL/pgSQL Banco de Dados II Prof. Guilherme Tavares de Assis PL/pgSQL (Procedural Language for the PostgreSQL) é uma linguagem procedural carregável desenvolvida para o SGBD PostgreSQL, que possui

Leia mais

Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch)

Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch) Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Introdução ao PL/SQL

Introdução ao PL/SQL Introdução ao PL/SQL Pág.: 2/53 SUMÁRIO 1 FUNDAMENTOS... 4 1.1 O QUE É O PL/SQL?... 4 1.2 COMO É EXECUTADO UM PL/SQL NO ORACLE SERVER... 4 1.3 ESTRUTURA DE UM BLOCO PL/SQL... 5 1.4 TIPOS DE BLOCOS PL/SQL...

Leia mais

Banco de Dados II. PL/SQL Introdução. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. PL/SQL Introdução. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II PL/SQL Introdução Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Gerenciamento de Transações:

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger a tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

SQL Pacotes. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados Pacotes

SQL Pacotes. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados Pacotes SQL Pacotes Laboratório de Bases de Dados Características Pacotes objetos do banco de dados são equivalentes a bibliotecas Armazenam procedimentos funções definições de cursores declarações de variáveis

Leia mais

Bases de Dados 2007/2008. Aula 9

Bases de Dados 2007/2008. Aula 9 Bases de Dados 2007/2008 Aula 9 1. T-SQL TRY CATCH 2. TRATAMENTO ERROS RAISERROR 3. TRIGGERS 4. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura

Leia mais

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

PROCEDIMENTOS ARMAZENADOS (Stored Procedures) PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

Transações Seguras em Bancos de Dados (MySQL)

Transações Seguras em Bancos de Dados (MySQL) Transações Seguras em Bancos de Dados (MySQL) Índice Entendendo os storage engines do MySQL 5 1 As ferramentas 1 Mais algumas coisas que você deve saber 1 Com a mão na massa 2 Mais ferramentas Usando o

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 10 - PROCEDIMENTOS ARMAZENADOS - STORED PROCEDURES 1. INTRODUÇÃO Em muitas situações será necessário armazenar procedimentos escritos com a finalidade de se utilizar recursos como loop, estruturas

Leia mais

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: - Necessidade O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: Os livros que custarem mais de 10, devem ver o seu preço

Leia mais

Treinamento. DBA Oracle 11g. Duração: 120 horas

Treinamento. DBA Oracle 11g. Duração: 120 horas Treinamento DBA Oracle 11g Duração: 120 horas Neste curso no primeiro módulo (Introdução ao Oracle 11g SQL e PL_SQL) é oferecido um curso introdutório à tecnologia do banco de dados Oracle 11g. Também

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

INE 5336. Banco de Dados II. Sumário

INE 5336. Banco de Dados II. Sumário INE 5336 Banco de Dados II Ronaldo S. Mello 2004/2 1 SQL Embutida Sumário 2 Processamento de Consultas 3 Introdução a Transações 4 Recuperação de Falhas 5 Controle de Concorrência 6 Banco de Dados Distribuído

Leia mais

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak Usando PostgreSQL na Regra de Negócio de um ERP Fabiano Machado Dias Eduardo Wolak Regra de negócio? São todas as regras existentes num sistema de informação, que ditam seu comportamento, suas restrições

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS

RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS No Instituto Federal do Paraná tounou-se necessário o armazenamento de certas informações para controle de pessoal. Para armazenar tais dados é necessário saber que:

Leia mais

PostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

PostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br PostgreSQL www.postgresql.org André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br Características Licença BSD (aberto, permite uso comercial) Multi-plataforma (Unix, GNU/Linux,

Leia mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

EXEMPLOS DE COMANDOS NO SQL SERVER

EXEMPLOS DE COMANDOS NO SQL SERVER EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;

Leia mais

Disciplina: Unidade V: Prof.: E-mail: Período:

Disciplina: Unidade V: Prof.: E-mail: Período: Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução

Leia mais

APLICATIVO PARA CÁLCULO DE MÉTRICA DE SOFTWARE EM CÓDIGO-FONTE PL/SQL

APLICATIVO PARA CÁLCULO DE MÉTRICA DE SOFTWARE EM CÓDIGO-FONTE PL/SQL APLICATIVO PARA CÁLCULO DE MÉTRICA DE SOFTWARE EM CÓDIGO-FONTE PL/SQL Karine Trevisani Cunha Alexander Roberto Valdameri - Orientador Roteiro Introdução Objetivos Motivação Fundamentação Teórica Desenvolvimento

Leia mais

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

trigger insert, delete, update

trigger insert, delete, update 1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,

Leia mais

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010 BANCO DE DADOS: SQL UERN - Universidade do Estado do Rio Grande do Norte. Departamento de Ciências da Computação. 27 de janeiro de 2010 índice 1 Introdução 2 3 Introdução SQL - Structured Query Language

Leia mais

Gatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com. Elaborado por Maria Lígia B. Perkusich

Gatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com. Elaborado por Maria Lígia B. Perkusich Gatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Elaborado por Maria Lígia B. Perkusich O que é um gatilho (trigger)? Um gatilho é um tipo especial de procedimento armazenado

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Programação Básica em Arduino Aula 2

Programação Básica em Arduino Aula 2 Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

Triggers e mais... Instituto Militar de Engenharia IME 1o. Semestre/2005 Triggers Propósito mais amplo que restrições Restrições onde se explicita o evento Regras event-condition-action (ECA) Eventos:

Leia mais

SQL Server 2008. Ferramenta de administração. SQL Server Management Studio. 1º passo conectar ao banco de dados 2ª Query (consulta) usando SQL

SQL Server 2008. Ferramenta de administração. SQL Server Management Studio. 1º passo conectar ao banco de dados 2ª Query (consulta) usando SQL SQL Server 2008 Ferramenta de administração SQL Server Management Studio Ferramenta de acesso e administração de dados em modo gráfico 1º passo conectar ao banco de dados 2ª Query (consulta) usando SQL

Leia mais

1.6. Tratamento de Exceções

1.6. Tratamento de Exceções Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER

Leia mais

MANUAL INSTALAÇÃO WEB SERVICE

MANUAL INSTALAÇÃO WEB SERVICE MANUAL INSTALAÇÃO WEB SERVICE Recebimento de dados pelo Hospital Versão 1.1 2/9/2014 Contato suporte@gtplan.com.br Índice Introdução... 2 Requerimentos para instalação do Web Service... 2 Instalação...

Leia mais

Persistência de Dados

Persistência de Dados Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas

Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Banco de Dados II Triggers e Functions Prof. Moser Fagundes Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Sumário da aula Functions (funções) Triggers (gatilhos) Atividades Functions

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas

Leia mais

Treinamento. Sumário

Treinamento. Sumário Sumário 01 Introdução ao PLSQL... 5 Objetivo do Curso... 6 Conceitos Básicos... 7 O que é PLSQL?... 7 Por que aprender a PLSQL?... 7 Blocos PLSQL... 7 Comentários... 8 Execução de Blocos... 9 Ambiente

Leia mais

Bases de Dados 2012/2013 Funções/procedimentos e triggers. Helena Galhardas 2012 IST. Bibliografia. Manual referência PostgreSQL

Bases de Dados 2012/2013 Funções/procedimentos e triggers. Helena Galhardas 2012 IST. Bibliografia. Manual referência PostgreSQL Bases de Dados 2012/2013 Funções/procedimentos e triggers em PostgreSQL Helena Galhardas Bibliografia Manual referência PostgreSQL http://www.postgresql.org/docs/9.2/static/ plpgsql.html http://www.postgresql.org/docs/9.2/static/

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

Leia mais