BD II (SI 587) Procedimentos Armazenados
|
|
- Luciano Peralta Vilaverde
- 6 Há anos
- Visualizações:
Transcrição
1 BD II (SI 587) Procedimentos Armazenados Josenildo Silva
2 MOTIVAÇÃO
3 Contexto: Sistemas em 2 camadas
4 Contexto: Sistemas em 3 camadas
5 Problema 1: Alto volume de dados na rede Como reduzir o tráfego na rede? Exemplo 1 Select SUM(qtd) as total from produto group by codprod;... Para cada produto se total < 10% do estoque então insert into OrdemCompra...
6 Problema 1: Alto volume de dados na rede Como reduzir o tráfego na rede? Exemplo 2 Realizar a sequência Insert into VENDA... Insert into NOTAFISCAL... Update ESTOQUE... para cada venda.
7 Problema 1: Alto volume de dados na rede Como reduzir o tráfego na rede? Exemplo 3 Realizar a sequência Insert into PESSOA... Insert into ALUNO... para cada entidade em uma hierarquia de generalização/especialização.
8 Problema 1: Alto volume de dados na rede Entretanto... O gargalo pode ser provocado pelo próprio servidor de banco de dados. Caberá ao desenvolvedor, em conjunto com o DBA, identificar cada caso.
9 Problema 2: Manutenção Como garantir consistência de regras de negócio nas diversas aplicações e módulos clientes?
10 Ou seja Algumas situações reais em grandes sistemas Comandos repetitivos com lógica complexa Várias linguagens de programação envolvidas Rotinas periódicas Todas estas situações podem se beneficiar com o uso de procedimentos armazenados.
11 PROCEDIMENTOS ARMAZENADOS
12 Procedimentos Armazenados São funções (rotinas) definidas no banco de dados, identificadas por um nome pelo qual podem ser invocadas. Um procedimento pode executar várias instruções, receber parâmetros e retornar valores
13 Quando utilizar? Quando aplicações em diferentes linguagens, ou plataformas diferentes, executando a mesma função.
14 Quando utilizar? Exemplo: Os bancos (Itaú, Bradesco, etc), em geral, utilizam procedures para todas as operações em comum.
15 Por que utilizar? Otimização: redução de tráfego de dados entre aplicação e o SGBD Segurança: utilizando procedures o acesso às tabelas do banco de dados acontece de forma indireta Manutenção: reuso do mesmo código em diversas aplicações
16 Desvantagens Necessidade de maior conhecimento da sintaxe do banco de dados para escrita de rotinas em SQL A sintaxe muda de um banco para outro As rotinas ficam mais facilmente acessíveis Alguém que tenha acesso ao banco poderá visualizar e alterar o código.
17 SQL/PSM
18 Procedimentos armazenados SQL/PSM Procedimentos armazenados Módulos de programa armazenados pelo SGBD no servidor de banco de dados Podem ser funções ou procedimentos SQL/PSM (Persistent Stored Modules) Extensões à SQL (publicado em 1996) Inclui construções de programação de uso geral em SQL
19 Sintaxe para Procedimentos CREATE PROCEDURE <nome> (<params>) <declarações de variáveis locais> <corpo do procedimento> ;
20 Sintaxe para Funções CREATE FUNCTION <nome> (<params>) RETURNS <tipo de retorno> <declarações de variáveis locais> <corpo da função> ;
21 Parâmetros Cada parâmetro deve ter: Tipo: um dos tipos de dados da SQL Modo: IN, OUT ou INOUT Parâmetros IN são o padrão, pode-se omitilo após o nome
22 Chamando procedimentos e funções No Mysql CALL <nome do proc ou func>(<args>) ; No Oracle BEGIN <nome do proc ou func>(<args>) ; END
23 Comando de Controle (IF) IF <condicao> THEN <lista de instrucoes> ELSEIF <condicao> THEN <lista de instrucoes>... ELSEIF <condição> THEN <lista de instrucoes> ELSE <lista de instrucoes> END IF ;
24 Comando de Controle Laço (WHILE)
25 Comando de Controle Laço (FOR)
26 Exemplo
27 SQL/PSM NO MYSQL 5.0
28 Cenário 1 (cont.) Sistemas de venda sem SQL/PSM O cliente faz um pedido, no qual são inseridos itens. O pedido (bem como os itens) permanece com status PENDENTE até ser confirmado.
29 Cenário 1 Até o pedido ser confirmado, nenhum lançamento é feito no livro caixa Após a confirmação fazer as ações: Atualizar o status do pedido; Atualizar o status dos itens do pedido; Lançar o valor do pedido no caixa. Esta regra de negócio tem que ser replicada em todos os front-end (web, desktop, etc)
30 Cenário 1
31 Cenário 2 Sistemas de venda com SQL/PSM As ações de update/insert/delete são agrupadas em uma procedure no servidor
32 Sintaxe de procedures no mysql DELIMITER $$ CREATE PROCEDURE nome_proc (parâmetros) BEGIN /*CORPO DO PROCEDIMENTO*/ END $$ DELIMITER ; Delimitador é preciso inicialmente alterar o delimitador padrão do MySQL (por exemplo $$) e ao fim da criação do procedimento, restaurar seu valor padrão
33 Exemplo 1: usando parâmetro de entrada DELIMITER $$ CREATE PROCEDURE selecionar_prod(in quantidade INT) BEGIN SELECT * FROM PRODUTOS LIMIT quantidade; END $$ DELIMITER ; Para chamar este procedimento CALL selecionar_prod(2);
34 Exemplo 2: usando parâmetro de saída DELIMITER $$ Armazena o total de produtos CREATE PROCEDURE Quantidade_Produtos(OUT quantidade INT) BEGIN SELECT COUNT(*) INTO quantidade FROM PRODUTOS; END $$ DELIMITER ; CALL Quantidade_Produtos(@total); a variável poderá ser usada posteriormente
35 Exemplo 3: parâmetro de entrada e saída DELIMITER $$ CREATE PROCEDURE metada(inout numero INT) BEGIN SET numero = numero / 2; END $$ DELIMITER ; = 10; CALL metade(@valor); a variável poderá ser usada posteriormente
36 Variáveis no corpo do procedimento DECLARE nome_var TIPO [DEFAULT valor]; Exemplos DECLARE quantidade int DEFAULT 0; DECLARE valor decimal(9,2); DECLARE total_valor decimal(9,2); DECLARE done INT DEFAULT FALSE;
37 Cursores no MySQL Itera um conjunto de tuplas Utiliza-se dentro de uma procedure, function ou triggers Sintaxe DECLARE nome FOR (SELECT...)
38 Usando Cursores no MySQL OPEN nome para abrir o cursor, que fará com que ele executea consulta; Logo em seguida inicia o loop com a seguinte instrução nome_cursor : loop FETCH nome INTO para atribuir o retorno do cursor a uma ou mais variáveis; CLOSE nome
39 Exemplo de Cursor no MySQL CREATE PROCEDURE cursordemo() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE a CHAR(16); DECLARE b, c INT; DECLARE cur1 CURSOR FOR SELECT id,data FROM t1; DECLARE cur2 CURSOR FOR SELECT i FROM t2; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur1; OPEN cur2; read_loop: LOOP FETCH cur1 INTO a, b; FETCH cur2 INTO c; IF done THEN LEAVE read_loop; END IF; IF b < c THEN INSERT INTO test.t3 VALUES (a,b); ELSE INSERT INTO test.t3 VALUES (a,c); END IF; END LOOP; CLOSE cur1; CLOSE cur2; END; Fonte:
40 Cenário: controle de estoque O vendedor deve verificar a disponibilidade de um determinado produto em tempo real. O setor de compras deve planejar melhor as atividades de compra.
41 Cenário: controle de estoque Não é recomendado inserir, atualizar e excluir diretamente nesta tabela somente recebe os dados conforme as ações executadas nas tabelas de ENTRADA e SAIDA de Produto. Registra as compras Registra as vendas
42 Procedure que atualiza o estoque delimiter $$ create procedure patualizaestoque(idprod int, qtdecomprada int, valorunitario decimal(9,2) ) begin declare existeprod int; select id_produto into existeprod from estoque where id_produto = idprod; if (existeprod is not null) then update estoque set qtde = qtde + qtdecomprada, valor_unitario = valorunitario where id_produto = idprod; else insert into estoque (id_produto, qtde, valor_unitario) values (idprod, qtdecomprada,valorunitario); end if; end $$ delimiter ;
43 SQL/PSM NO ORACLE
44 Procedure no Oracle DECLARE // Coloque as variáveis aqui BEGIN // Aqui vai o código EXCEPTION // Tratamento de erros END;
45 Procedure no Oracle declare media INT := 10; begin select avg(salary) into media from EMPLOYEES; DBMS_OUTPUT.PUT_LINE( Media: TO_CHAR(media) ); end;
46 Procedure no Oracle CREATE [OR REPLACE] PROCEDURE <nome> [ (par1 type1, par2 type2,...) ] IS AS DECLARE... BEGIN... EXCEPTION... END <name>;
47 Exemplo de Procedure no Oracle CREATE OR REPLACE PROCEDURE PDate IS BEGIN DBMS_OUTPUT.PUT_LINE('DATE:' TO_CHAR(SYSDATE)); END PDate; Para fazer a chamada (execução) crie um bloco simples: BEGIN PDate(); END;
48 Exemplo de Procedure com Parametro IN CREATE OR REPLACE PROCEDURE PROC_ID(p_id EMPLOYEES.EMPLOYEE_ID%TYPE) IS BEGIN UPDATE EMPLOYEES SET LAST_NAME = LAST_NAME ' X' WHERE EMPLOYEE_ID = p_id; COMMIT; END PROC_ID;
49 Exemplo de Procedure com Parametro IN -- Execução com parâmetros posicionais BEGIN PROC_ID(176); END; -- Execução com parâmetros nomeados BEGIN PROC_ID(p_id=>176); END; Efeito SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID = 176;
50 Exemplo de Procedure com parametro OUT CREATE OR REPLACE PROCEDURE PROC_NAME( p_id IN EMPLOYEES.EMPLOYEE_ID%TYPE, p_name OUT EMPLOYEES.LAST_NAME%TYPE ) IS BEGIN SELECT LAST_NAME INTO p_name FROM EMPLOYEES WHERE EMPLOYEE_ID = p_id; END PROC_NAME;
51 Exemplo de Procedure com parametro OUT -- Execução DECLARE v_name varchar(100); BEGIN PROC_NAME(176,v_name); DBMS_OUTPUT.PUT_LINE(Nome:' TO_CHAR(v_name)); END;
52 Exemplo com parametros in out no Oracle CREATE OR REPLACE PROCEDURE PROC_CONCAT(P_CHAR IN OUT VARCHAR2 ) IS BEGIN P_CHAR:= '(' P_CHAR ')'; END PROC_CONCAT;
53 Procedure no Oracle -- Execução DECLARE ret VARCHAR(100); BEGIN FOR emp_rec IN (SELECT LAST_NAME FROM EMPLOYEES ) LOOP DBMS_OUTPUT.PUT_LINE(Nome: ' TO_CHAR(emp_rec.LAST_NAME) ); PROC_CONCAT(emp_rec.LAST_NAME); DBMS_OUTPUT.PUT_LINE( Nome: ' TO_CHAR(emp_rec.LAST_NAME) ); END LOOP; END;
54 Exemplo de parametro IN OUT create or replace procedure patualizaestoque( idprod ESTOQUE.ID%TYPE, qtdecomprada ESTOQUE.QTDE%TYPE, valorunitario ESTOQUE.VALOR_UNITARIO%TYPE)
55 cont... is total number; begin select count(id_produto) into total from estoque where id_produto = idprod; if (total > 0) then DBMS_OUTPUT.PUT_LINE('Antes de atualizar...'); update estoque set qtde = qtde + qtdecomprada, valor_unitario = valorunitario where id_produto = idprod; else DBMS_OUTPUT.PUT_LINE('Antes de inserir...'); insert into estoque (id, id_produto, qtde, valor_unitario) values (seq_idestoque.nextval, idprod, qtdecomprada, valorunitario); end if; end patualizaestoque;
56 Parametros default create or replace procedure proc_default(x int default 1) is begin dbms_output.put_line('value: ' to_char(x*1) ); end proc_default;
57 Parametros default -- Execução BEGIN PROC_DEFAULT(); PROC_DEFAULT(3); END;
58 Leitura Adicional Seção 9.6 do SILBERSCHATZ: Funções e Procedimentos Tutorial sobre Procedimentos no MySQL por Wagner Bianchi. _procedures_no_mysql/
59 Links interessantes php/ /mysql-stored-procedures-part-1.htm cedures_no_mysql d_procedures.htm
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 maisBANCO DE DADOS II Stored Procedure. COTEMIG Gerson Borges
BANCO DE DADOS II Stored Procedure COTEMIG Gerson Borges gerson@cotemig.com.br Introdução Em aplicações que acessam banco de dados, é comum executarmos rotinas complexas de manipulação desses dados. Para
Leia maisOracle PL/SQL Overview
Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade
Leia maisBanco 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 maisTriggers(Gatilhos) Tiago Alves de Oliveira
Triggers(Gatilhos) Tiago Alves de Oliveira tiago.alves@uemg.br Triggers (Gatilhos) Um TRIGGER ou gatilho associado a uma tabela, definido para ser disparado, respondendo a um evento em particular; Comandos
Leia maisProgramando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi
Programando em SQL Triggers, Stored Procedures e funções Objetivo Descrever as funcionalidades de triggers, store procedures e funções; Apresentar vantagens e benefícios; Criação e Gerenciamento de Store
Leia maisf. Exemplo: verificar condição de aprovação de alunos
Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Semana 17 1) Expressões CASE a. Tem a mesma finalidade que nas linguagens
Leia maisUNINGÁ 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 maisSQL 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 maisProgramação em SGDB s
Stored Procedures Programação em SGDB s Functions, Procedures e Triggers Permite a programação de códigos em um SGBD. Por que programar no SGBD? Linguagens: plpgsql, Tcl, Perl, Pyton e C. Vantagens da
Leia maisSQL 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 maisProf. Josenildo Silva
BD II (SI 587) Gatilhos (Triggers) Prof. Josenildo Silva jcsilva@ifma.edu.br Motivação Algumas rotinas precisam ser executadas antes ou depois de um determinado evento no banco de dados Motivação Regras
Leia mais05/05/2017 Stored Procedures e Functions no MySQL com PhpMyAdmin
www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=30837 Stored Procedures e Functions no MyS QL com PhpMyAdmin Veja neste artigo como utilizar
Leia maisFACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento
FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre o banco de dados. Especificar regras
Leia maisIEC Banco de Dados I Aula 11 Técnicas de Programação SQL
IEC Banco de Dados I Aula 11 Técnicas de Programação SQL Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Site: hjp://bdufam.wordpress.com Sumário
Leia maisLogado 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 maisStored Procedures e Triggers
e Triggers Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Rotinas Armazenadas Stored Procedures Exemplos Triggers Exemplos Exercícios 2 Rotinas Armazendas Rotinas Armazenadas são um conjunto de comandos
Leia maisOracle 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 maisMarcelo Henrique dos Santos
Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: marcelosantos@outlook.com BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO
Leia maisMaterial Teórico. Procedures, Functions, Exceptions e Triggers. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque
Banco de Dados Material Teórico Procedures, Functions, Exceptions e Triggers Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque Revisão Textual: Prof. Ms. Claudio Brites Procedures, Functions,
Leia maisBanco 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 maisIntroduçã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 maisBancos 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 maisBANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING
BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Revisão de Arquitetura C/S BD Cliente-Servidor com função distribuída Cliente Servidor Aplicativo
Leia maisSumário. Discussão Exercícios. Discussão Exercícios. Discussão Exercícios. Discussão Exercícios. Programando com SQL Stored Procedures
Ciência da Computação GBC043 Sistemas de Banco de Dados Sumário Programando com SQL Stored Procedures Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Discussão exercícios
Leia maisPL/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 maisRECUPERAÇÃ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 maisLinguagem SQL Restrições, Triggers e Views
FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação Linguagem SQL Restrições, Triggers e Views Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre
Leia maisTratamento de Exceções
Tratamento de Exceções Laboratório de Bases de Dados Tratamento de Exceções Exceções erros e imprevistos que podem ocorrer durante a execução de um bloco PL/SQL SGBD ao encontrar um erro ou um imprevisto,
Leia maisLista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I
Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Considere o diagrama relacional da Figura 1 e escreva os comandos SQL para executar os exercícios abaixo. Figure 1 Diagrama relacional.
Leia maisBases 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 maisIntrodução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos
Bases de Dados Funções e procedimentos 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 de
Leia maisFAPLAN - 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 maisAvisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova
Ciência da Computação GBC043 Sistemas de Banco de Dados Programando com SQL s Avisos Vista da segunda prova Data: 03/06 das 13:40 às 15:00h Local: sala 1B137 Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br
Leia maisAcadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl
AVALIAÇÃO DA QUALIDADE DO CÓDIGO FONTE ESCRITO EM PL/SQL Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento
Leia maisProjeto 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 maisUma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.
Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Seja então o conjunto de entidades pessoa, com os atributos bi_pessoa, nome_pessoa e morada_pessoa,
Leia maisFundamentos de Programação ORACLE: SQL. Prof. Walter Gima
Fundamentos de Programação ORACLE: SQL. 1 Prof. Walter Gima walter_gima@yahoo.com.br ALIAS RELACIONAMENTOS TO_CHAR SYSDATE ROWNUM CONCATENAÇÃO PROCEDURES FUNCTIONS 2 ALIAS Utilizado para facilitar o uso
Leia maisFUNCTION ) 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 maisSistemas de Informação e Bases de Dados 2012/2013. Stored Procedures e Triggers
Sistemas de Informação e Bases de Dados 2012/2013 Stored Procedures e Triggers Alberto Sardinha Bibliografia MSDN http://msdn.microsoft.com 1 Funções e Procedimentos SQL suporta funções e procedimentos
Leia maisBases de Dados. Parte VI SQL em Ambiente de Programação
Bases de Dados Parte VI SQL em Ambiente de Programação 1 SQL em Ambiente de Programação! O SQL pode ser usado de forma interactiva por utilização do interface normalmente disponibilizado pelo próprio SGBD
Leia maisCIÊNCIA E TECNOLOGIA DO RIO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS II Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia
Leia maisBD II (SI 587) Programação SQL. Prof. Josenildo Silva.
BD II (SI 587) Programação SQL Prof. Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de Dados,
Leia maisTriggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve
Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 21 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Leia mais14/9/2009. Banco de Dados
Banco de Dados Fernando Fonseca & Ana Carolina Salgado Roteiro Analisar Minimundo Criar Esquema no SGBD Oracle Script criacaotabelas.sql em http://www.cin.ufpe.br/~fdfd/dinter/sql Inserir dados no banco
Leia maisGBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL
GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Página 2 Prgrama Teórico/Prático - SQL Linguagem
Leia mais26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real
www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=28194 Triggers no SQL Server: teoria e prática aplicada em uma situaçã o real Veja neste
Leia maisFESURV UNIVERSIDADE DE RIO VERDE FACULDADE DE CIÊNCIA DA COMPUTAÇÃO. Stored Procedures e Triggers
FESURV UNIVERSIDADE DE RIO VERDE FACULDADE DE CIÊNCIA DA COMPUTAÇÃO Stored Procedures e Triggers THIAGO BORGES DE OLIVEIRA Definição e implementação de stored procedures e triggers para SGBD's relacionais.
Leia maisAdministração de Banco de Dados
Administração de Banco de Dados Aula 9 Prof. Marcos Alexandruk Aula 9 Visões (Views) Visões regulares Visões materializadas Visões de objeto Uma visão (view) é uma representação lógica de uma ou mais tabelas.
Leia maisGES013 - Sistema de Banco de Dados Funções e Gatilhos no PostgreSQL
GES013 - Sistema de Banco de Dados Funções e Gatilhos no PostgreSQL Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC UFU/FACOM Página 2 SQL EM FUNÇÕES E GATILHOS
Leia maisLaborató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 maisTransacções. Vitor Vaz da Silva
Transacções Vitor Vaz da Silva Em produto nome é único A quantidade é decrescida do mesmo valor que acresce a gastou create table Cozinha( id int IDENTITY(5,2), nome varchar(20), primary key(id) ) create
Leia maisWHILE = 0 -- Enquanto não é o fim do cursor, execute.
98 where cod_variavel 'V0101' union select rtrim(cod_variavel), 'IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N''[dbo].[DIM_'+rtrim(COD_VARIAVEL)+']'') AND type in (N''U''))'
Leia maisBanco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas O que é banco de dados? São conjuntos de registros dispostos
Leia maisBanco de Dados PLPGSQL. Prof. Dr. Joel da Silva
Banco de Dados PLPGSQL Prof. Dr. Joel da Silva - Introdução 2 - Introdução A PLPGSQL ou PL/pgSQL é uma linguagem estendida da SQL que tem por objetivo auxiliar as tarefas de programação no PostgreSQL.
Leia maisSumário. 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 maisPCS3413. Engenharia de So-ware e Banco de Dados. Aula 20. Escola Politécnica da Universidade de São Paulo
PCS3413 Engenharia de So-ware e Banco de Dados Aula 20 Escola Politécnica da Universidade de São Paulo 1 PROCEDIMENTOS TRIGGER STORED PROCEDURE Regras de Negócio controladas pelo SGBD SGDB Relacional dispoõe
Leia maisPL/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 maisTarefa Orientada 17 Scripts
Tarefa Orientada 17 Scripts Objectivos: Declaração de variáveis escalares Declaração de variáveis do tipo tabela Tabelas temporárias Estruturas Condicionais Estruturas de Repetição Tratamento de erros
Leia maisLinguagens Procedurais no PostgreSQL: Funcoes. Linguagens Procedurais no PostgreSQL: Funcoes
Linguagens Procedurais no PostgreSQL: Funcoes Introdução à programação procedural no servidor e linguagem plpgsql para implementação de funções. ARQUITETURA/PROCESSOS postmaster: (Host, único, aguardando
Leia maisOracle Database: Fundamentos de SQL e PL/SQL
Oracle University Contact Us: 0800 891 6502 Oracle Database: Fundamentos de SQL e PL/SQL Duration: 5 Days What you will learn Este curso apresenta os fundamentos de SQL e PL/SQL e as vantagens das linguagens
Leia maisBanco de Dados I Introdução SQL
Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada
Leia maisBases de Dados. Parte VI SQL em Ambiente de Programação e Transações. Bases de Dados 2015/2016. Ricardo Rocha / Fernando Silva DCC-FCUP
Bases de Dados Parte VI SQL em Ambiente de Programação e Transações (Estes slides são a continuidade evolutiva dos slides de Ricardo Rocha (2005-2014) e de Fernando Silva (1995-2000), e são baseados no
Leia maisIntrodução Sintaxe Básica Retornos Múltiplos Junções em Funções Comando Case Atividade. de Banco de Dados (CREATE FUNCTION) Bruno Neiva Moreno
Programação e Administração de Banco de Dados Aula 1.7 - Funções (CREATE FUNCTION) Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz bruno.moreno@ifrn.edu.br 1/20 Introdução
Leia maisFTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel Competências a serem trabalhadas nessa aula Revisão dos comandos INSERT INTO SELECT Comando WHERE Comando Excluir (DELETE)
Leia maisMarcos Alexandruk Marcos Alexandruk
Marcos Alexandruk m.alexandruk@gmail.com Apresentação disponível em: www.dba.net.br/mysql.pdf Parte I: Download e Instalação MySQL - Download www.mysql.com/downloads MySQL - Download MySQL - Download MySQL
Leia maisAntó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 maisO modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de
Introdução O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language). O padrão SQL define precisamente uma interface SQL para a
Leia maisOracle Comandos para Processamento de Transações
Oracle Comandos para Processamento de Transações Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Transação Unidade lógica de trabalho contém um ou mais comandos SQL para manipulação
Leia maisAntónio Rocha Nuno Melo e Castro
António Rocha Nuno Melo e Castro PL/SQL Extensão ao SQL Estruturada em blocos Permite controlo do fluxo de execução Permite integração entre diferentes ferramentas Oracle Não permite comandos DDL PL/SQL
Leia maisMySql. Introdução a MySQL. Andréa Garcia Trindade
MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo
Leia maisSQL/DQL Stored Procedures (Procedimentos armazenados) Sintaxe básica de Stored Procedure:
SQL/DQL Stored Procedures (Procedimentos armazenados Stored Procedure é um conjunto de instruções escrito numa linguagem própria para procedures (procedimentos e triggers (gatilhos do SGBD, e que é armazenado
Leia maisTriggers 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 maisSQL Avançado. CURSO: Administrador de Banco de Dados. PROFESSOR: Denival Araújo dos Santos. CARGA HORÁRIA: 20 h/a
1 SQL Avançado CURSO: Administrador de Banco de Dados PROFESSOR: Denival Araújo dos Santos CARGA HORÁRIA: 20 h/a 2 Índice Geral Procedimento e Função... 3 3.1 INTRODUÇÃO À PROGRAMAÇÃO EM SQL... 3 3.1.1
Leia maisCurso de Ciência da Computação
Curso de Ciência da Computação MATÉRIA: Banco de Dados II ASSUNTO: Triggers (Gatilhos ou automatismos) PROFESSOR: Ricardo Rodrigues Barcelar Objetivos: Apresentar a linguagem Structured Query Language
Leia maisNormalização: (Uma tabela muito Normalizada significa que ele é muito bem feita, e muito relacionado) 5FN (Somente 10% dos DBAs dos ADs conseguem ) A normalização de dados é uma série de passos que se
Leia maisBDII SQL TRANSAÇÃO Revisão 2
exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)
Leia mais21/03/2012 PL/SQL. Variáveis
Banco de Dados Fernando Fonseca Ana Carolina Salgado Mestrado Profissional PL/SQL Procedural Language/SQL Linguagem de programação sofisticada, utilizada para ter acesso a uma base de dados Oracle a partir
Leia maisA U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )
BANCO DE DADOS GERENCIAL 1 A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S ) VIEW é uma instrução SQL que retorna dados e é salva no banco de dados com um nome, ou seja, passa a ser um objeto
Leia maisAtualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g
Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando
Leia maisBDII SQL DML II Revisão 8
exatasfepi.com.br BDII SQL DML II Revisão 8 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)
Leia maisMANUAL 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 maisFunções em PostgreSQL
Funções em PostgreSQL traduzido e adaptado do manual oficial do PostgreSQL O SGBD PostgreSQL permite que sejam criadas funções pré-definidas pelo usuário sendo que as mesmas são armazenadas como objetos
Leia maisSistemas 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 maisFTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Flávio Dantas
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Flávio Dantas Competências a serem trabalhadas nessa aula Revisão dos comandos INSERT INTO SELECT Comando WHERE Comando Excluir (DELETE)
Leia maisFTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel Competências a serem trabalhadas nessa aula Conectar PHP com MySQL Comandos PHP para acesso ao MySQL Utilizando comandos no
Leia mais#nao fazer #Só pode fazer para testar... drop database if exists modelo4; create database modelo4; use modelo4; #Auto_relacionamento #Pessoa = Conjuge = filho #Observar para Criticar #O que achou? # Deixando
Leia maisBanco de Dados. Professora: Luciana Faria
Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é
Leia maisBANCO DE DADOS TRIGGERS (GATILHOS) Prof. Fabiano Papaiz IFRN
BANCO DE DADOS TRIGGERS (GATILHOS) Prof. Fabiano Papaiz IFRN Uma Trigger (ou gatilho) é uma estrutura presente na maioria dos SGBD s que permite que um determinado evento (código SQL) seja executado automaticamente
Leia maisInstituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013 BD I Prof. Lineu Mialaret Aula 25:
Leia maisTRIGGERS Temas abordados
MYSQL TRIGGERS TRIGGERS Temas abordados 1 - Introdução ao SQL Triggers SQL Trigger é uma instrução SQL ou um conjunto de instruções SQL,que fica armazenado, é será activado ou disparado quando um evento
Leia maisCreate 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 maisBANCO DE DADOS PARA WEB
BANCO DE DADOS PARA WEB PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com BANCO DE DADOS O banco de dados será de fundamental importância para a criação de páginas dinâmicas,
Leia mais