Program aç ão em PL/SQL

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

Download "Program aç ão em PL/SQL"

Transcrição

1 Program aç ão em PL/SQL

2 Est rut ura do Curso Introdução a PL/ SQL Conceitos Básicos de PL/SQL Variáveis e Dados de Programa Controle Condicional e Sequencial Loops Registros em PL/ SQL Tabelas PL/SQL

3 Est rut ura do Curso SQL em PL/ SQL Funções de SQL integradas Cursores Procedimentos e Funções Packages Triggers Tratamento de Erros

4 Est rut ura do Curso Testes e Depuração PL/SQL Dinâmico Entrada e Saída em Arquivos Desempenho e Otimização

5 PL/SQL Procedural Language extensions to SQL. Usamos esta linguagem no Oracle Server e em aplicações-cliente (p.e. Oracle Forms). Adiciona construções de programação não existentes na linguagem de banco de dados padrão. Permite a combinação de comandos SQL com construções procedurais.

6 Versões do PL/SQL Cliente Servidor Versão Developer/2000 Versão Developer 6 Versão Oracle 7.0 Versão Oracle 7.1 Versão Oracle 7.2 Versão Oracle 7.3 Versão Oracle 8.0

7 Arquit et ura do PL/SQL Oracle Forms Gerador de SQL Oracle Server Programa PL/SQL local PL/SQL V8.0 Runtime Engine Stored Program Unit Processador de comandos SQL PL/SQL V8.0 Runtime Engine

8 Am bient es de Ex ec uç ão Servidor Oracle 7: PL/SQL versão 2 Oracle 8: PL/SQL versão 8 SQL* Plus (modo interativo) Cliente Oracle Developer (Forms, Reports e Procedure Builder) utilizam compiladores PL/SQL próprios

9 Conc eit os Básic os da Linguagem PL/SQL

10 Charac t er Set do PL/SQL Tipo Letras Dígitos 0-9 Símbolos Espaço em Branco Caracteres A-Z, a-z # $ % & * ( ) _ - + = [ ] { } : ; < >,.? / Tab, espaço, Enter

11 Charac t er Set do PL/SQL O PL/SQL não é uma linguagem sensível ao contexto. letras maiúsculas são tratadas da mesma maneira que minúsculas, a não ser no caso destas pertencerem a uma cadeia de caracteres. If x < > s then If x < > S then

12 Sím bolos Sim ples e Com post os S ím b o lo D escriçã o ; term in ad o r d e co m an d o s % in d icad o r d e atrib u to (p.e. % IS O P E N ); sím b o lo w ild ca rd _ sím b o lo w ild ca rd : in d icad o r d e v ariáv el h o sp ed eira * * o p erad o r ex p o n en cial < > e!= d iferen te o p erad o r d e co n caten ação < < e > > d elim itad o r d e ró tu lo < = e > = m en o r o u igu al e m aio r o u igu al := o p erad o r d e atrib u ição = > o p erad o r d e asso ciação p ara n o tação p o sicio n al -- co m en tário em u m a ú n ica d e lin h a /* e * / in ício e fim d e co m en tário

13 Charac t er Set do PL/SQL Caracteres são agrupados, formando unidades léxicas, que são os menores componentes individuais da linguagem. Uma unidade léxica pode formar: identificadores literais delimitadores comentários

14 Ident ific adores Identificador é um nome para um objeto PL/ SQL. constante, variável, exception,, procedimento, função, package,, registro, tabela PL/SQL, cursor e palavra reservada. Até 30 caracteres. Tem que começar com uma letra. Pode incluir $, _ e #. Não pode conter espaços.

15 Lit erais Literal é um valor não representado por um identificador; é simplesmente um valor. Número 415, 21.6 ou NULL String Esta é uma frase, ou NULL Boolean TRUE, FALSE ou NULL

16 Delim it adores Delimitador Ponto e vírgula (;) Indica o final de um comando IF salario < min_salario THEN END IF; salario := salario + salario *.25;

17 Com ent ários Comentário de uma única linha IF salario < min_salario salario(1994) -- retorna min salário do ano THEN salario := salario *.25; END IF; Comentário de múltiplas linhas PROCEDURE calcula_receita (empresa IN NUMBER) IS /* Programa alterado em 23/9/94 Analista Responsável: Manoel de Souza * /...

18 Est rut ura de um Bloc o A estrutura da linguagem PL/SQL é orientada a blocos Modularização um bloco é a unidade básica de trabalho da qual procedimentos e funções são construídos Escopo o bloco oferece um escopo ou contexto para objetos logicamente relacionados

19 Seç ões de um Bloc o Cabeçalho (Header) determina o modo como o bloco deve ser chamado Seção de Declaração onde declaramos variáveis, cursores e sub-blocos blocos e seções de exceção Seção de Execução parte que contém o código a ser executado Seção de Exceções (Exceptions) manipula exceções ao processamento normal (condições de aviso e erro).

20 Seç ões de um Bloc o IS Cabeçalho Seção de de Declaração BEGIN Seção de de Execução EXCEPTION END; Seção de deexceptions

21 Seç ões de um Bloc o Blocos Anônimos Não possuem nome DECLARE Seção de de Declaração BEGIN Seção de de Execução EXCEPTION END; Seção de deexceptions

22 Bloc os Aninhados Um bloco pode conter um ou mais sub-blocos de código. As variáveis dos blocos externos podem ser referenciadas nos blocos internos, porém não o contrário. PROCEDURE calcula_totais IS total_ano NUMBER; BEGIN total_ano := 0; DECLARE total_mês NUMBER; BEGIN total_mês := total_ano / 12; END; END;

23 Variáveis e Dados de Program a

24 Variáveis Atributos de uma variável nome, tipo e valor Nome Pode ter até 30 caracteres Tem que começar com uma letra Constante Tipo especial de variável Valor é constante

25 Tipos de Dados Número BINARY_INTEGER DEC DECIMAL DOUBLE PRECISION FLOAT INT INTEGER NATURAL NUMBER POSITIVE REAL SMALLINT Caractere Boleano Data-hora CHAR CHARACTER LONG LONG RAW RAW ROWID STRING VARCHAR VARCHAR2 BOOLEAN DATE

26 Tipos de Dados Existem no banco de dados: Number, Char, Long, Long Raw, Raw, Rowid, Varchar2, Date. Binary_Integer: Utilizado para armazenar inteiros com sinal. Com intervalo de: Subtipos: Natural (de ) Positive (de )

27 Tipos de Dados Num éric os Utilize NUMBER para armazenar números (inclusive ponto-flutuante) Precisão Máxima: 38 dígitos 1.0E até 9.999E125 Declaração de uma variável numérica: NUMBER ( precisão, escala ) precisão: número total de dígitos escala: número de dígitos a direita ou esquerda do ponto decimal em que o arredondamento ocorrerá.

28 Tipos de Dados Num éric os Se a escala é positiva, então a escala determina que o ponto onde o arredondamento ocorre está a direita do ponto decimal. Se a escala é negativa, então a escala determina que o ponto onde o arredondamento ocorre está a esquerda do ponto decimal. Se a escala é zero, então o arredondamento ocorre para a parte inteira do número. Se a escala não é especificada, então o arredondamento não ocorre.

29 Tipos de Dados Num éric os - Ex em plos EXEMPLO: VALOR FORMATO RESULTADO NUMBER(10,3) NUMBER(10,3) ERROR NUMBER(10,-6) NUMBER(10,-6) 0

30 Subt ipos Num éric os Pré-definidos Subtipo Compatibilidade Correspondente no Oracle DEC (prec, esc) ANSI NUMBER(prec, esc) DECIMAL(prec, esc) IBM NUMBER(prec, esc) DOUBLE ANSI NUMBER PRECISION FLOAT ANSI, IBM NUMBER INT ANSI NUMBER(38) INTEGER ANSI, IBM NUMBER(38) REAL ANSI NUMBER SMALLINT ANSI, IBM NUMBER(38)

31 Carac t eres CHAR Subtipos: Character e string. especifica que a variável tem um tamanho fixo pode-se especificar o tamanho máximo (1 até 32767) se o tamanho não for especificado, o valor padrão é 1 (um). espaços em branco são adicionados ao final da variável, se esta armazenar uma cadeia de caracteres de tamanho menor que o máximo.

32 Carac t eres VARCHAR2 e VARCHAR armazenam cadeias de caractere de tamanho variável. pode-se especificar o tamanho máximo (1 até 32767) VARCHAR2 e VARCHAR são sinônimos (visando a compatibilidade com bancos de dados ANSI). Recomendação da Oracle: : utilize VARCHAR2

33 Carac t eres LONG armazenam cadeias de caractere de tamanho variável, de até caracteres. recomendação: utilize VARCHAR2. RAW armazena dados binários de até bytes o PL/ SQL não tenta interpretar os dados LONG RAW armazena dados binários de até bytes

34 Row id No database Oracle, ROWID é uma pseudocoluna, pertencente a toda tabela. Internamente gerado, ocupando 6 bytes. ROWID em PL/SQL é um subtipo do CHAR com tamanho fixo. BBBBBBB.RRRR.FFFF bloco no database file, linha no bloco e database file

35 Booleano (BOOLEAN) Tipo de dados lógico (não existe correspondente no servidor Oracle). Pode assumir os valores TRUE, FALSE ou NULL.

36 Dat a-hora (DATE) Uma variável do tipo DATE armazena tanto informações sobre data quanto sobre hora. Valor de tamanho fixo, que ocupa 7 bytes. DATE armazena as seguintes informações: século, ano, mês, dia, hora, minuto e segundo Datas válidas para uma variável data estão entre 1 jan de 4712 AC a 31 dez de 4712 DC. Podem ser feitas operações aritméticas sobre um valor do tipo DATE.

37 Conversão ent re Tipos Sempre que o PL/SQL efetua uma operação envolvendo um ou mais valores, ele primeiro converte os dados para o formato correto para a operação. Conversão Explícita é usada uma função de conversão pré-definida Conversão Implícita sempre que necessário, o PL/SQL tenta converter os valores para efetuar a operação

38 Valores Nulos em PL/SQL NULL nunca é igual a qualquer outra coisa IF nome = NULL THEN ERRADO Quando usados uma função utilizando um valor nulo, geralmente recebemos como resultado um outro valor nulo. nome := NULL; IF LENGTH(nome) = 0 THEN -- Não funciona Maneira correta da comparação: < identificador> IS NULL < identificador> IS NOT NULL

39 Valores Nulos em PL/SQL Resultado de funções com argumento NULL: Concatenação Existem duas maneiras de efetuarmos uma concatenação: função CONCAT ou operador Nos dois casos, o valor NULL é ignorado Função NVL nova_desc := NVL(antiga_desc, Não aplicavel ); Função REPLACE Função REPLACE REPLACE( a.b.c.d.e.f.,., NULL) = > abcdef

40 Dec laraç ão de Variáveis Antes de fazer qualquer referência a uma variável, a mesma deve ser declarada. Sintaxe < nome_var> < tipo> [ atribuição de valor padrão]

41 Dec laraç ão de Variáveis Exemplos data_admissao admissao DATE; achou BOOLEAN; total NUMBER(15,2); paragrafo VARCHAR2(2000); prox_aumento CONSTANT DATE := 15-APR APR-96 ; limite NUMBER DEFAULT 3; nom_empr VARCHAR2(50) NOT NULL DEFAULT PCS R US

42 Cont role Condic ional e Sequenc ial

43 Com andos IF... Permitem que seja construída uma lógica condicional nas aplicações. IF <condição> THEN <comandos> - TRUE END IF; IF <condição> THEN <comandos> - TRUE ELSE <comandos> - FALSE END IF; IF <condição>... ELSIF <condição> ELSE <comandos> END IF Determina se os comandos entre o THEN e o END IF serão executados, de acordo com a condição. Baseado na condição informada, será executado o código entre o THEN e o ELSE (TRUE) ou entre ELSE e o END IF (FALSE). seleciona uma ação dentre várias condições mutuamente exclusivas, executando os comandos associados à condição.

44 Com binaç ão IF-THEN Exemplos IF :empresa.total > media THEN aplicar_desconto(:empresa.empresa_id); END IF; IF relatorio_pedido THEN imprime_relatorio relatorio(relatorio relatorio_id); END IF;

45 Com binaç ão IF-THEN-ELSE Exemplo IF :cliente.total_pedido > max_permitido THEN pedido_excedente := TRUE; ELSE pedido_excedente := FALSE; END IF;

46 Com binaç ão IF-ELSIF Exemplo IF salario < THEN bonus := 2000; ELSIF salario < THEN bonus := 1500; ELSIF salario < THEN bonus := 1000; ELSE bonus := 500; END IF;

47 Com ando GOTO Desvio incondicional para um rótulo definido no programa. GOTO nome_rotulo;... < < nome_rotulo> >... Pelo menos um comando deve existir após a definição de um rótulo. O rótulo deve ser único no escopo.

48 Com ando GOTO Rótulo destino deve estar no mesmo escopo que o comando GOTO. IF, BEGIN, Loop,, módulo. Rótulo destino deve estar na mesma parte do bloco PL/SQL que o comando GOTO. ex.: um GOTO na seção executável não pode desviar para a seção de exceptions. O código resultante com o uso do GOTO pode tornar-se complexo e desestruturado, dificultando a manutenção.

49 Com ando NULL Melhorar a clareza do programa IF :report: report.selection = DETAIL THEN exec_detail detail_report; ELSE NULL; END IF; Tirar o efeito de uma exception Projeto top-down dos módulos do sistema. Utilização conjunta com o GOTO.

50 SQL* Plus

51 SQL* Plus Permite introduzir interativamente instruções de SQL e blocos PL/SQL a partir de uma linha de comandos que são enviadas diretamente para a base de dados Comandos não são sensíveis a maiúsculas e minúsculas

52 Variáveis de Subst it uiç ão Identificadas pelo caracter & Substituição textual da variável antes de enviar a instrução para o servidor Exemplo: select * from emp where empno= = &num_empregado;

53 Variáveis de Assoc iaç ão Variáveis de memória, podendo ser utilizadas em um ou mais blocos PL/ SQL Tipos válidos: VARCHAR2 CHAR NUMBER Não podem ser restringidas por precisão ou escala REFCURSOR (a partir do SQL* Plus 3.2)

54 Variáveis de Assoc iaç ão Exemplo: SQL> VARIABLE v_contador NUMBER SQL> BEGIN 2 SELECT COUNT(*) 3 INTO :v_contador 4 FROM emp 5 WHERE empno > 1000; 6 END; 7 / SQL> PRINT v_contador Após a execução, a variável v_contador conterá o resultado do select feito no bloco.

55 EXECUTE Uma chamada a stored procedures deve ser feita através do comando EXECUTE Exemplo: EXECUTE minha_procedure procedure(param1,...); O SQL* Plus enviará o seguinte bloco PL/SQL para a base de dados: BEGIN minha_procedure procedure(param1,...); END;

56 Ex ec ut ar Arquivos de Inst ruç ões Para executar quaisquer instruções SQL ou blocos PL/ SQL Pode-se utilizar start Exemplos: start cria_proc proc.sql start cria_func start pacote1.pck funcao_teste. _teste.fnc A extensão default é sql

57 SHOW ERRORS Mostra erros de compilação armazenados na view user_errors Utilizado após uma tentativa de criar stored procedures e receber a mensagem: Warning: Procedure created with compilation errors

58 Ex erc íc io I.1 Faça um script que, dado um número inteiro, retorne o sua raiz quadrada (p/ rodar no SQL* Plus). Sugestões: utilize a função SQRT utilize o modo de entrada de dados do SQL* Plus (&variavel variavel) construa um bloco anônimo utilize o comando DBMS_OUTPUT.PUT_LINE

59 Ex erc íc io I.2 Faça um script que calcule as raízes de uma equação de 2 o grau Sugestões: utilize o módulo de entrada de dados do SQL* Plus (&variavel variavel) construa um bloco anônimo Obs.: eq = ax 2 + bx + c = 0 raiz1 = ( -b b + sqrt(b 2-4.a.c) ) / 2.a raiz2 = ( -b - sqrt(b 2-4.a.c) ) / 2.a

60 Loops

61 Conc eit os Um loop permite que um mesmo código seja executado repetidamente. Loop Simples Loop FOR (p/ números e cursores) Loop WHILE Na maioria dos casos, uma lógica que requer um loop pode usar qualquer das três construções existentes.

62 Loop Sim ples LOOP < comandos> END LOOP; O teste para terminação é feito dentro do loop EXIT EXIT WHEN < condição>

63 Loop Sim ples Exemplos LOOP balanco_restante := balanco_conta(conta_id); IF balanco_restante < 1000 THEN EXIT; ELSE aplicar_balanco(conta_id, balanco_restante); END IF; END LOOP; LOOP balanco_restante := balanco_conta(conta_id); EXIT WHEN balanco_restante < 1000; aplicar_balanco(conta_id, balanco_restante); END LOOP;

64 Loop Sim ples Quando usar não existe a certeza de quantas vezes o loop será executado o loop deve executar pelo menos uma vez

65 Loop FOR FOR numérico FOR < indice_loop loop> > IN [REVERSE] [ < menor>..< maior> LOOP < comandos> END LOOP; O loop termina quando o código é executado o número de vezes correspondente ao intervalo informado Após cada execução do bloco, o PL/SQL verifica se o valor atual do índice excede a diferença entre o maior e menor número informado na faixa

66 Loop FOR FOR numérico Quando usar: código dentro do loop será executado um número fixo de vezes, sem ser necessária uma interrupção Regras não declare o índice usado no loop não mude o valor das variáveis usadas para informar a faixa de valores (a faixa é analisada no início do loop), muito menos o valor do índice não use o comando EXIT dentro do loop FOR

67 Loop FOR FOR numérico Exemplos FOR contador IN LOOP... END LOOP; FOR contador IN REVERSE LOOP... END LOOP; FOR ind_calc IN ini_periodo.. LEAST(fim_periodo, periodo_atual) LOOP... END LOOP;

68 Loop WHILE WHILE < condição> LOOP < comandos> END LOOP; Executa até que a condição seja falsa. Antes de cada execução do bloco dentro loop, o PL/ SQL avalia a condição informada.

69 Loop WHILE Quando usar não temos certeza de quantas vezes devemos executar o corpo do loop desejamos interromper o loop de acordo com uma condição não necessariamente temos que executar o loop pelo menos uma vez

70 Loop WHILE WHILE total <= LOOP... SELECT sal INTO salary FROM emp WHERE... total := total + salary; END LOOP; Este exemplo garante a execução ao menos uma vez: done := FALSE; WHILE NOT done LOOP sequence_of_statements; done := boolean_expression; END LOOP;

71 Regist ros em PL/SQL

72 Conc eit os Um registro em PL/SQL é bastante similar à estrutura de linhas em uma tabela. Um registro é uma estrutura de dados composta. O registro como um todo não tem um valor. Cada componente ou campo é que o possui.

73 Tipos de Regist ro Baseado em Tabela cada campo corresponde a uma coluna em uma tabela, inclusive com o mesmo nome Baseado em Cursor cada campo corresponde a uma coluna ou expressão no comando SELECT de um cursor Definido pelo Programador cada campo é definido explicitamente (nome e tipo) através do comando TYPE

74 Dec laraç ão de um Regist ro Baseado em Tabelas < nome_reg reg> > < nome_tabela> %ROWTYPE; DECLARE empresa_reg reg empresa%rowtype; Baseado em Cursores < nome_reg reg> > < nome_cursor> %ROWTYPE; DECLARE empresa_reg reg empresa_cur cur%rowtype;

75 Dec laraç ão de um Regist ro Definido pelo Programador TYPE < nome_tipo> IS RECORD ( < nome_campo1> < tipo_dado1>, < nome_campo2> < tipo_dado2>,... < nome_campon campon> > < tipo_dadon dadon> > ) TYPE cliente_regtipo IS RECORD (cliente_id NUMBER(5), cliente_nome cliente.nome%type, total_vendas NUMBER(15,2) );

76 Tabelas PL/SQL

77 Definiç ão Como um array, uma tabela PL/SQL é uma coleção ordenada de elementos de um mesmo tipo. Uma tabela PL/SQL não tem limites de tamanho, pode ser incrementada dinamicamente. O índice de acesso da tabela não precisa ser um número sequencial. Por exemplo, pode-se usar uma série como número do empregado (como 7369, 7499, 7521, 7566, )

78 Definindo um a Tabela PL/SQL TYPE table_type_name IS TABLE OF datatype [NOT NULL] [INDEX BY BINARY_INTEGER]; onde table_type type_name é um tipo especificado pelo usuário. Na versão 8 a cláusula INDEX BY é opcional.

79 Ex em plos DECLARE TYPE SalTabTyp IS TABLE OF emp.sal%type NOT NULL INDEX BY BINARY_INTEGER; DECLARE TYPE TimeRecTyp IS RECORD ( hour SMALLINT := 0, minute SMALLINT := 0, second SMALLINT := 0); TYPE TimeTabTyp IS TABLE OF TimeRecTyp INDEX BY BINARY_INTEGER;

80 Referenc iando Tabelas PL/SQL DECLARE TYPE EmpTabTyp IS TABLE OF emp%rowtype INDEX BY BINARY_INTEGER; emp_tab EmpTabTyp; BEGIN... IF emp_tab(1).job = CLERK THEN... END;

81 Usando Tabelas PL/SQL DECLARE TYPE DeptTabTyp IS TABLE OF dept%rowtype INDEX BY BINARY_INTEGER; dept_tab DeptTabTyp; BEGIN /* Select entire row into record stored by first element. */ SELECT * INTO dept_tab(1) FROM dept WHERE deptno = 10; IF dept_tab(1).dname = ACCOUNTING THEN END;

82 Usando Tabelas PL/SQL DECLARE TYPE EmpTabTyp IS TABLE OF emp%rowtype INDEX BY BINARY_INTEGER; emp_tab EmpTabTyp; i BINARY_INTEGER := 0; CURSOR c1 IS SELECT * FROM emp; BEGIN OPEN c1; LOOP i := i + 1; /* Fetch entire row into record stored by its element. */ FETCH c1 INTO emp_tab(i); EXIT WHEN c1%notfound; process data record END LOOP; CLOSE c1; END;

83 At ribut os de Tabela: COUNT Retorna o número de elementos na tabela.... IF ename_tab.count = 50 THEN... END;

84 At ribut os de Tabela: DELETE Este atributo tem 3 formas: tabela.delete remove todos os elementos da tabela; tabela.delete(n) remove o elemento n da tabela; tabela.delete(m,n) remove o range m.. n. tabela.delete(m,n) remove o range m.. n. É uma instrução completa por si só; não é chamada como parte de uma expressão

85 At ribut os de Tabela: EXISTS Retorna TRUE se existir uma linha com índice i na tabela, caso contrário retorna FALSE. IF sal_tab.exists(i) THEN sal_tab(i) := sal_tab(i) + 500; ELSE RAISE salary_missing; END IF;...

86 At ribut os de Tabela: FIRST e LAST Retornam o índice da primeira e da última linha da tabela, respectivamente.... FOR i IN emp_tab.first.. emp_tab.last LOOP... END LOOP; A primeira linha é a que tem o índice mais baixo e a última, o mais elevado.

87 At ribut os de Tabela: NEXT e PRIOR Retornam o índice do elemento seguinte ou anterior da tabela, respectivamente. DECLARE... BEGIN END; i BINARY_INTEGER;.. i := any_tab.first; WHILE i IS NOT NULL LOOP END LOOP;... process any_tab(i) i := any_tab.next(i);

88 SQL em PL/SQL

89 Inst ruç ões de SQL Podem dividir-se em seis categorias: DML: linguagem de manipulação de dados DDL: linguagem de definição de dados Controle de transações Controle de sessões Controle do sistema SQL incorporado (para pré-compiladores)

90 SQL em PL/SQL Num programa PL/SQL só podem ser usadas as seguintes instruções: DML: select, insert, update, delete Controle de transações: commit, rollback, savepoint Existe uma alternativa para o uso de instruções DDL em PL/SQL A package DBMS_SQL, disponível a partir da versão 2.1 permite a criação de SQL dinâmico

91 DML: Selec t Busca informações do banco de dados para variáveis PL/ SQL SELECT emp.ename INTO v_ename FROM emp WHERE emp.empno = 7902; Deve retornar somente uma linha A cláusula INTO só é usada em blocos PL/ SQL

92 DML: Insert Insere uma linha na tabela INSERT INTO emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) VALUES (1, 'ALBERT', 'SALESMAN', 7698, SYSDATE, 1432, 260, 30); INSERT INTO emp SELECT * FROM emp;

93 DML: Updat e Altera o conteúdo de uma ou mais linhas de uma tabela UPDATE emp SET sal = sal * 1.2 WHERE empno = 1;

94 DML: Delet e Elimina uma ou mais linhas de uma tabela DELETE FROM emp WHERE empno = 1;

95 Cláusula WHERE Nas instruções SELECT, UPDATE e DELETE esta cláusula serve para restringir o conjunto de linhas sobre as quais a operação será executada. Constituída por condições, normalmente de comparação, separadas pelos operadores AND, OR, NOT

96 Referênc ias de t abelas As operações de DML referenciam uma tabela, de uma forma geral, no formato: [ dblink] onde: owner dblink - usuário onde a tabela foi criada - denominação de uma conexão a um banco de dados remoto

97 Sinônim os Utilizados para facilitar o acesso aos objetos do banco de dados, evitando o uso de owner e dblink para identificá-los. Exemplo: CREATE PUBLIC SYNONYM empregado FOR owner1.emp Após isto pode-se usar: SELECT * FROM empregado; em vez de ter que fazer: SELECT * FROM owner1.emp

98 Pseudo-c olunas Funções adicionais que só podem ser chamadas a partir de instruções SQL: CURRVAL e NEXTVAL LEVEL ROWID ROWNUM

99 Pseudo-c olunas: CURRVAL e NEXTVAL Utilizadas com sequências (objetos Oracle para gerar números únicos) sequência.currval retorna o valor atual da sequência sequência.nextval retorna o próximo valor da sequência Exemplo: SELECT my_seq seq.nextval from dual;

100 Pseudo-c olunas: LEVEL Utilizado dentro de uma instrução SELECT que implementa uma pesquisa de árvore hierárquica numa tabela utilizando as cláusulas START WITH e CONNECT BY. Esta pseudo-coluna retorna o nível atual da árvore.

101 Pseudo-c olunas: ROWID Retorna o endereço físico de uma linha da tabela, num valor do tipo ROWID Um SELECT utilizando-se de ROWID na cláusula WHERE é o método mais otimizado de se recuperar uma linha Exemplo: v_rowid ROWID;... SELECT ROWID INTO v_rowid FROM emp;... UPDATE emp set... WHERE emp.rowid = v_rowid;

102 Pseudo-c olunas: ROWNUM Retorna o número atual da linha num SELECT Utilizado principalmente na cláusula WHERE para limitar as linhas a serem consideradas SELECT * FROM emp WHERE ROWNUM < 3; O valor ROWNUM é atribuído a uma linha antes de ser efetuada uma ordenação (ORDER BY)

103 Privilégios de Ac esso Privilégios de Objeto Para efetuar operações num objeto Privilégios de Sistema Para efetuar operações numa classe de objetos

104 GRANT Para dar privilégios de acesso Objeto: GRANT privilégio ON objeto TO usuário [WITH GRANT OPTION] Sistema: GRANT privilégio TO usuário [WITH ADMIN OPTION]

105 REVOK E Para revogar privilégios de acesso Objeto: REVOKE privilégio ON objeto FROM usuário [CASCADE CONSTRAINTS] Sistema: REVOKE privilégio FROM usuário

106 Perfis de Grupo Os privilégios comuns podem ser agrupados em ROLES, para facilitar a concessão para vários usuários que possuem o mesmo perfil Em vez de dar privilégios para cada usuário: Cria-se uma role: CREATE ROLE role Concedem-se os privilégios: GRANT... TO role Atribuem-se os usuários para essa role GRANT role TO usuário PUBLIC: perfil genérico para todos os usuários

107 Cont role de Transaç ões COMMIT Salva as operações da transação e libera locks. As operações são visíveis a outras sessões ROLLBACK Desfaz as operações e libera locks SAVEPOINT Ponteiro para marcar o ínicio para onde um ROLLBACK pode ser efetuado

108 Funç ões de SQL int egradas

109 Funç ões para Carac t eres Nome ASCII CHR CONCAT INITCAP INSTR LENGTH LOWER LPAD Descrição retorna o código ASCII de um caractere retorna o caractere associado ao código ASCII concatena duas strings transforma a primeira letra de cada palavra em maiúscula retorna a localização em uma string da substring especificada retorna o tamanho da string converte todas as letras para minúsculas adiciona uma string à esquerda

110 Funç ões para Carac t eres Nome LTRIM REPLACE RPAD RTRIM SOUNDEX SUBSTR TRANSLATE UPPER Descrição retira do lado esquerdo da string todos os caracteres recebidos como parâmetro substitui uma sequência de caracteres por um conjunto diferente de caracteres adiciona os caracteres especificados à direita da string retira do lado direito da string todos os caracteres recebidos como parâmetro retorna a representação fonética de uma string retorna a porção especificada da string traduz caracteres únicos em uma string por um caracter diferente converte todas as letras para maiúsculas

111 Funç ões para Carac t eres Exemplos FUNCTION INSTR(string1 IN VARCHAR2, string2 IN VARCHAR2 [, pos_ini IN NUMBER := 1 [, nth_ocorrencia IN NUMBER := 1]]) RETURN NUMBER INSTR( Estou procurando uma palavra, uma ) = > 18 FUNCTION LPAD(string1 IN VARCHAR2, tamanho_pad IN NUMBER [, string_pad IN VARCHAR2]) RETURN VARCHAR2 LPAD( 55, 10, 0) = > LPAD( , 5, 0 ) = > 12345

112 Funç ões para Carac t eres Exemplos FUNCTION LTRIM(string1 IN VARCHAR2 [, trim_string IN VARCHAR2]) RETURN VARCHAR2 LTRIM( Eu gosto de pizza ) = > Eu gosto de pizza FUNCTION SUBSTR(string_in IN VARCHAR2, pos_ini IN NUMBER [, tam_substr substr_in IN NUMBER]) RETURN VARCHAR2 SUBSTR( Eu gosto de pizza, 4, 5) = > gosto SUBSTR( Eu gosto de pizza, -1) = > a

113 Funç ões para Dat as Nome ADD_MONTHS LAST_DAY MONTHS_BETWEEN NEW_TIME NEXT_DAY ROUND SYSDATE TRUNC Descrição adiciona o número de meses especificado à data retorna o último dia do mês da data especificada retorna o número de meses entre duas datas retorna o valor data/hora, com o tempo alterado de acordo com o time zone especificado retorna a data do primeiro dia de semana especificado que é maior que a data retorna a data arrendondada para o formato especificado retorna a hora/data corrente no Oracle Server trunca a data da sua porção hora, de acordo com o formato especificado

114 Funç ões para Dat as Exemplos LAST_DAY(data_in IN DATE) RETURN DATE LAST_DAY(SYSDATE) - SYSDATE = > número de dias até o final do mês. NEXT_DAY(data_in IN DATE, nome_dia IN VARCHAR2) RETURN DATE NEXT_DAY( 01-JAN-1997, MONDAY) = > 06-JAN-1997

115 Funç ões Num éric as Nome Descrição ABS valor absoluto do número COS / ACOS / COSH cosseno; cosseno inverso; cosseno hiperbólico SIN / ASIN / SINH seno; seno inverso; seno hiperbólico TAN / ATAN TANH tangente; tangente inversa; tangente hiperbólica CEIL retorna o teto inteiro de um número EXP(n) e elevado à n-ésima potência FLOOR maior inteiro menor ou igual ao número LN(a) logaritmo natural de a. LOG(a, b) logaritmo na base a de b. MOD(a, b) resto da divisão de a por b.

116 Funç ões Num éric as Nome POWER(a,b) ROUND(a,b) Descrição a elevado à b-ésima potência retorna a arredondado em b casas decimais SIGN(a) retorna 1 se a > 0, 0 se a = 0 e -1 se a < 0 SQRT TRUNC(a, [b]) raiz quadrada de um número a truncado até b casas decimais

117 Out ras Funç ões Nome DECODE DUMP GREATEST LEAST NVL SQLCODE SQLERRM UID USER USERENV VSIZE Descrição retorna o resultado de uma comparação no estilo if-then-else retorna uma string contendo um dump da expressão especificada retorna o maior dos valores especificados retorna o menor dos valores especificados substitui o valor NULL por um outro valor retorna o número do erro do Oracle para a exception mais recente retorna a mensagem de erro do Oracle para a exception mais recente retorna o User ID da sessão corrente no Oracle retorna o nome do usuário logado retorna uma string contento infos sobre a sessão corrente no Oracle retorna o número de bytes da representação interna do valor especificado

118 Out ras Funç ões Exemplos FUNCTION SQLCODE RETURN INTEGER FUNCTION SQLERRM RETURN VARCHAR2 EXCEPTION WHEN OTHERS THEN MESSAGE( Error TO_CHAR(SQLCODE) : SQLERRM);

119 Funç ões de Conversão Nome CHARTOROWID CONVERT HEXTORAW RAWTOHEX ROWIDTOCHAR TO_CHAR TO_DATE TO_NUMBER Descrição converte uma string para ROWID converte uma string de uma character set para outro converte de hexadecimal para o formato RAW converte de raw para hexadecimal converte de ROWID para uma string converte um número ou data para string converte uma string para data converte uma string para número

120 Funç ão TO_CHAR FUNCTION TO_CHAR(param IN { DATE/ NUMBER}, [, formato IN VARCHAR2 [, nls_language IN VARCHAR2]]) RETURN VARCHAR2 TO_CHAR(SYSDATE, Month DD, YYYY) = > March 10,1997 TO_CHAR(564.70, $999.9 ) = > $564.7 TO_CHAR(564.70, $ ) = > $

121 Funç ão TO_DATE FUNCTION TO_DATE(param IN { VARCHAR2 NUMBER} [, formato IN VARCHAR2 [, nls_language IN VARCHAR2 ]]) RETURN DATE TO_DATE( , MMDDYY) = > 31-DEC DEC-1998 TO_DATE( 16/7/94, DD/MM/YY) = > 16-JUL JUL-1994

122 Funç ão TO_NUMBER FUNCTION TO_NUMBER(string_in IN CHAR VARCHAR2} [, formato IN VARCHAR2 [, nls_language VARCHAR2]]) RETURN NUMBER TO_NUMBER( ) = > TO_NUMBER( abcdef ) = > ERRO

123 Funç ões de Grupo Somente para SELECT com GROUP BY Nome AVG COUNT MAX MIN STDDEV SUM VARIANCE Descrição retorna a média dos valores da coluna retorna o número de linhas que a coluna não é nula retorna o valor máximo da coluna retorna o valor mínimo da coluna retorna o desvio padrão da coluna retorna a soma dos valores da coluna retorna a variância estatística da coluna

Oracle PL/SQL Overview

Oracle 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 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

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

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

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

DML. SQL (Select) Verificando estrutura da tabela

DML. SQL (Select) Verificando estrutura da tabela SISTEMAS DE INFORMAÇÃO BANCO DE DADOS 2 SQL (Select) PROF: EDSON THIZON DML É a parte mais ampla da SQL. Permite pesquisar, alterar, incluir e deletar dados da base de dados. São quatro as sentenças mais

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/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

SQL e PL/SQL Oracle Dicas de preparação para certificação

SQL e PL/SQL Oracle Dicas de preparação para certificação - 1 - SQL e PL/SQL Oracle Dicas de preparação para certificação Selection: para escolher linhas em uma tabela Projection: para escolher colunas em uma tabela Join: pode trazer simultaneamente dados que

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

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

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

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

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

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

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

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

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

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro !"#$ Excepção: condição de erro; quando ocorre o erro é levantada uma excepção que interrompe o fluxo normal de execução do programa e o direcciona para uma rotina de tratamento

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

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

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

Oracle 10g Dicas de PL/SQL. Conteúdo

Oracle 10g Dicas de PL/SQL. Conteúdo Oracle 10g Dicas de PL/SQL Conteúdo Objetivos... 2 Comentários... 2 Declarações... 2 Conversões de variáveis... 2 DDL Criar, alterar ou apagar tabelas Create, Alter or Drop table... 3 Restrições na criação

Leia mais

Notas sobre o MySQL: Resumo dos comandos no MySQL linha de comandos:

Notas sobre o MySQL: Resumo dos comandos no MySQL linha de comandos: EDUCAÇÃO E FORMAÇÃO DE ADULTOS Curso EFA SEC Turma C - 2012 / 2013 Notas sobre o MySQL: 1) A indicação mysql> é o prompt do sistema. 2) Uma instrução, no prompt do MySQL, deve terminar sempre com ponto

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

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

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

Para criar uma procedure. Uma procedure é um grupo de comandos PL/SQL que realizam uma tarefa. OR REPLACE Recria a procedure se esta já existir.

Para criar uma procedure. Uma procedure é um grupo de comandos PL/SQL que realizam uma tarefa. OR REPLACE Recria a procedure se esta já existir. GERENCIANDO DADOS E CONCORRÊNCIA Pl/SQL PL/SQL significa "Procedural Language extensions to SQL". O PL/SQL pode ser usado em bancos de dados Oracle, no Oracle Server, em ferramentas clientes, isto é, Oracle

Leia mais

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl

Acadê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 mais

FUNCTIONS EM UMA INSTRUÇÃO SQL...

FUNCTIONS EM UMA INSTRUÇÃO SQL... PL/SQL Avançado 2 1 MUTATING TABLES... 4 1.1 O QUE É MUTATING TABLE?... 4 1.2 SIMULANDO UM MUTATING TABLE... 4 1.3 QUAIS EVENTOS CAUSAM MUTATING TABLE... 5 2 CURSOR VARIABLES... 7 2.1 CARACTERÍSTICAS DAS

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

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

Formação Oracle Completa

Formação Oracle Completa PROPOSTA COMERCIAL Formação Oracle Completa Proposta PR140505 140505-01 5 de Maio de 2014 05/05/14 Dextraining Treinamentos em TI Página 1 de 14 1 A Dextraining A Dextra foi fundada em 1995, já com a missão

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

poder de manipulação de dados do SQL com poder de processamento das lp procedimentais

poder de manipulação de dados do SQL com poder de processamento das lp procedimentais 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 combina: poder de manipulação de

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

Elementos Básicos de PL

Elementos Básicos de PL Banco de Dados PL Fernando Fonseca Ana Carolina Salgado PLSQL Procedural LanguageSQL Linguagem de programação sofisticada, utilizada para ter acesso a uma base de dados Oracle a partir de vários ambientes

Leia mais

São 182 videoaulas de Oracle pl/sql procedures functions triggers Forms Reports

São 182 videoaulas de Oracle pl/sql procedures functions triggers Forms Reports Preço R$ 129.00 Compre aqui São 182 videoaulas de Oracle pl/sql procedures functions triggers Forms Reports - Clique aqui para ver o cronograma das aulas - Clique aqui para ver as imagens deste curso -

Leia mais

Apostila do Minicurso de PL/SQL. François Oliveira

Apostila do Minicurso de PL/SQL. François Oliveira Apostila do Minicurso de PL/SQL François Oliveira PL/SQL é uma extensão para SQL ela adiciona a linguagem procedural ao SQL do Oracle. Ela oferece modernas características como sobrecarga, coleções, tratamento

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

PostgreSQL o SGBD das 1001 linguagens Diogo Biazus diogob@gmail.com

PostgreSQL o SGBD das 1001 linguagens Diogo Biazus diogob@gmail.com PostgreSQL o SGBD das 1001 linguagens Diogo Biazus diogob@gmail.com Um dos grandes diferenciais do PostgreSQL em relação à maioria dos outros sistemas de bancos de dados é a presença de diversas linguagens

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

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

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

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 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

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

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

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

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

Tratamento de Exceções

Tratamento 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 mais

Prefácio. Público alvo. Como o livro está dividido?

Prefácio. Público alvo. Como o livro está dividido? Prefácio Sempre gostei de livros que conversam com o leitor, principalmente os técnicos. Como se fosse uma troca de ideias entre o autor e a pessoa que o está lendo. Procurei escrever desta forma, pois

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

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

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

Acadêmico: Fabiano Bender. Orientadora: Joyce Martins FURB 2012/2

Acadêmico: Fabiano Bender. Orientadora: Joyce Martins FURB 2012/2 Acadêmico: Fabiano Bender Orientadora: Joyce Martins FURB 2012/2 Introdução Objetivos Fundamentação teórica Desenvolvimento do aplicativo Resultados Conclusão Extensões Ampla utilização dos SGBDs Dificuldades

Leia mais

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127 Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

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

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL

GBC043 - 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 mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco 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

Leia mais

Bases de Dados. DML Data Manipulation Language Parte 1

Bases de Dados. DML Data Manipulation Language Parte 1 Bases de Dados DML Data Manipulation Language Parte 1 DML Data Manipulation Language Diz respeito à manipulação dos dados. É utilizada para: Inserir dados numa tabela(tuplos) Remover dados de uma tabela(tuplos)

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

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

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br BANCO DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o American

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados SQL Linguagem de Definição de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre

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

Laboratório de Banco de Dados II AULA 06 Linguagem SQL (Continuação) Prof. Érick de Souza Carvalho

Laboratório de Banco de Dados II AULA 06 Linguagem SQL (Continuação) Prof. Érick de Souza Carvalho Laboratório de Banco de Dados II AULA 06 Linguagem SQL (Continuação) Prof. Érick de Souza Carvalho 1 Trabalhando com DATAS A Data é armazenada em um formato numérico interno, contendo: Século, ano, mês,

Leia mais

Operação de União JOIN

Operação de União JOIN Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada

Leia mais

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS Esclarecimento Licenciamento de Uso Este documento é propriedade intelectual 2012 da NRSYSTEM COMÉRCIO E SERVIÇOS DE INFORMÁTICA LTDA-ME, consiste de uma compilação de diversos materiais entre livros,

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

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

Introdução a Stored Procedures e Triggers no Firebird

Introdução a Stored Procedures e Triggers no Firebird Introdução a Stored Procedures e Triggers no Firebird Por Bill Todd, Borland Developers Conference San Diego 2000 Traduzido e adaptado com autorização do autor por: Alessandro Cunha Fernandes, Comunidade

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)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

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

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

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

PROGRAMAÇÃO PARA BANCO DE DADOS PL/SQL

PROGRAMAÇÃO PARA BANCO DE DADOS PL/SQL PROGRAMAÇÃO PARA BANCO DE DADOS PLSQL Prof. Marcos Alexandruk SUMÁRIO 1. Conceitos de programação para banco de dados: Introdução ao PLSQL 2. Declarações 3. Tipos de dados 4. Constantes e variáveis 5.

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

MER e Conceitos gerais

MER e Conceitos gerais MER e Conceitos gerais IBGE 1)O Modelo de Entidades Relacionamentos, segundo Paulo Cougo, descreve o mundo como:... cheio de coisas que possuem características próprias e que se relacionam entre si. Essas

Leia mais

LABORATÓRIO DE BANCO DE DADOS

LABORATÓRIO DE BANCO DE DADOS UNIVERSIDADE DE CUIABÁ - FATEC-Faculdade de Ciência e Tecnologia Banco de Dados II Sistema de Informação Analise de Sistemas Prof. Msc. Mauricio Prado Catharino. Aluno: LABORATÓRIO DE BANCO DE DADOS Nesta

Leia mais

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

Leia mais

Histórico de revisões

Histórico de revisões Apostila 3 Histórico de revisões Data Versão Descrição Autor 30/09/2011 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Exclusão de registros Consultas por Dados de Resumo Group by / Having Funções

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

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

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

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

4 Usando funções simples Usando funções de uma única linha Funções de caractere Funções numéricas Funções de conversão Funções de expressão regular

4 Usando funções simples Usando funções de uma única linha Funções de caractere Funções numéricas Funções de conversão Funções de expressão regular 1 Introdução O que é um banco de dados relacional? Apresentando a linguagem SQL (Structured Query Language) Usando o SQL*Plus Iniciando o SQL*Plus Iniciando o SQL*Plus a partir da linha de comando Executando

Leia mais

PostgreSQL 8.0. Diogo Biazus

PostgreSQL 8.0. Diogo Biazus PostgreSQL 8.0 Diogo Biazus PostgreSQL 7.X Totalmente ACID MVCC Tipos e operadores customizáveis Diversas linguagens procedurais Hot backup Código aberto (BSD) Facilidade de extensão PL/pgSQL, PL/Python,

Leia mais

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados StructuredQuery Language- SQL Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 A Origem Em 1970, Ted Codd (pesquisador da IBM) publicou o primeiro

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

Linguagem SQL. Bancos de Dados II Linguagem SQL

Linguagem SQL. Bancos de Dados II Linguagem SQL Linguagem SQL Bancos de Dados II Linguagem SQL SQL - Principais conceitos Machado cap.14 Introdução Importância da linguagem SQL; 1970 - Fundamentada no modelo relacional de CODD; 1974 1ª versão - SEQUEL

Leia mais

Autenticação e Controle de Acesso em Forms e Reports via Oracle Internet Directory. Daniel Murara Barcia danielbarcia@hotmail.com

Autenticação e Controle de Acesso em Forms e Reports via Oracle Internet Directory. Daniel Murara Barcia danielbarcia@hotmail.com Autenticação e Controle de Acesso em Forms e Reports via Oracle Internet Directory. Daniel Murara Barcia danielbarcia@hotmail.com INTRODUÇÃO As aplicações corporativas de um importante órgão público do

Leia mais

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais