SQL - Structured Query Language

2728 palavras 11 páginas
SQL

Roteiro
• Funções definidas pelo usuário:
• Definição;

• Eventos (Triggers);
• Exercícios.
• Funções avançadas:
• Union, Union all, Intersect;
• Minus, Subquery;
• Exists, Case, Null, Isnull, ifnull, coalesce, nullif;

• Views
• Exercícios.
2

Funções Definidas pelo Usuário
• Também conhecidas como procedures em outras linguagens; • Assim como toda função, tem como finalidade encapsular uma funcionalidade corriqueira de interesse do usuário;
• Podem ser escritas em diversas linguagens, tais como: ruby, C,
3

Funções Definidas pelo Usuário
• Sintaxe:
CREATE [OR REPLACE] FUNCTION nome_da_funcao
[( parameter1 [ mode1] datatype1, parameter2 [ mode2] datatype2,
. . .)]
RETURN tipo_de_dado
IS|AS
Bloco PL/SQL;

4

Funções Definidas pelo Usuário
• Exemplo:
CREATE OR REPLACE FUNCTION add_numeros(nr1 int4, nr2 int4)
RETURNS int4
AS 'SELECT $1 + $2' LANGUAGE 'sql';

EXECUÇÃO:
SELECT add_numeros(300, 700) AS resposta ;
5

Funções Definidas pelo Usuário
• Observe que:
• De acordo com a sintaxe de função, podemos passar parâmetros ou não;
• Os parâmetros podem ser tipos básicos de dados ou estruturas mais complexas (como uma tabela do banco de dados).

6

Funções Definidas pelo Usuário
• Exemplos:
• Seja as instruções SQL abaixo:
CREATE TEMP TABLE empregados ( nome text, salario numeric, idade integer, baia point
);
INSERT INTO empregados VALUES('João',2200,21,point('(1,1)'));
INSERT INTO empregados VALUES('José',4200,30,point('(2,1)'));
7

Funções Definidas pelo Usuário
• Qual o resultado da aplicação da função abaixo?
CREATE FUNCTION dobrar_salario(empregados) RETURNS numeric AS $$
SELECT $1.salario * 2 AS salario;
$$ LANGUAGE SQL;
SELECT nome, dobrar_salario(emp.*) AS sonho
FROM empregados
WHERE empregados.baia ~= point '(2,1)';
8

Funções Definidas pelo Usuário
• Algumas vezes é prático gerar o valor do argumento composto em tempo de execução. Isto pode ser feito através da

Relacionados

  • LINGUAGEM SQL-STRUCTURED QUERY LANGUAGE
    1869 palavras | 8 páginas
  • Banco de dados
    4917 palavras | 20 páginas
  • Livro - fundamentos de banco de dados,
    6859 palavras | 28 páginas
  • Oralce sql
    14798 palavras | 60 páginas
  • Desenvolvimento de Banco de Dados
    3269 palavras | 14 páginas
  • AlgebraRelacional1
    1240 palavras | 5 páginas
  • DESENVOLVIMENTO DE BANCO DE DADOS 1501
    6101 palavras | 25 páginas
  • SQL 2014
    4865 palavras | 20 páginas
  • turma 309
    642 palavras | 3 páginas
  • linguagem sql
    2428 palavras | 10 páginas