Buscar

PL - Aula 02 - PL declaracao tipos de dados (2)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Linguagem 
Procedural Tipos 
de dados e 
declarações
PROF. Ms. J FLÁVIO VASCONCELOS ALVES
ASSUNTOS AULA 2
2
1)Tipos de dados PL/SQL
2)Declarações
3)Number, date
4)Character
5)Boolean
Obs: Efetuar cadastro em
https://livesql.oracle.com/
3
Seções
(PUGA;FRANÇA; GOAYA, 2013)
Seção Descrição
Seção
Declarativa
Variáveis, cursores, 
exceções e tipos construídos 
devem ser declarados.
Seção Executável Obrigatória na construção de 
um bloco. È o conjunto de 
instruções.
Seção de 
Tratamento de 
Exceções
Quando houver necessidade 
de tratamento de exceções.
4
PL/SQL – exemplo 1
(PUGA;FRANÇA; GOAYA, 2013)
Declaração de variáveis
Área de escopo
Tratamento 
de erros
5
TIPOS DE DADOS – seção DECLARATIVA
As variáveis são utilizadas para armazenar
dados temporariamente podendo sofrer alte-
rações ao longo do processamento do bloco.
A declaração a inicialização das variáveis são fei
as na seção declarativa do bloco.
As declarações tem como finalidade alocar
espaço de armazenamento para um valor,
especificar seu tipo de dados e nomear a
localização de armazenamento (em memória),
para que se possa referenciá-los.
(PUGA;FRANÇA; GOAYA, 2013)
6
TIPOS DE DADOS – CONSTANTES
As constantes, assim como as variáveis,
devem ser declaradas na seção
declarativa, mas tem seus valores
predefinidos na declaração e não
podem ser alterados ao longo do
processamento.
(PUGA;FRANÇA; GOAYA, 2013)
7
CATEGORIAS DE TIPOS DE DADOS
As variáveis em linguagem PL/SQL
suportam 4 categorias de tipos de
dados.
(PUGA;FRANÇA; GOAYA, 2013)
ESCALARES
COMPOSTOS
REFERENCIAIS
LOB (large object)
8
ESCALARES p1
Armazena um valor único e não possue
componentes internos. Os tipos de
dados escalares podem ser
classificados em 4 categorias:
• Número
• Caracter
• Data
• Boleano
(PUGA;FRANÇA; GOAYA, 2013)
9
ESCALARES p2
(PUGA;FRANÇA; GOAYA, 2013)
TIPO DE DADO DESCRIÇÃO
VARCHAR2 Armazena caractere de tamanho 
variável, com até 32.767 bytes. Não 
há tamanho default para estas 
variáveis.
NUMBER Armazena números reais ou inteiros
DATE Armazena datas e horas, entre os 
períodos de 4.712 A.C e 9.999 D.C
CHAR Armazena caractere de tamanho 
fixo, com até 32.767 bytes. O 
tamanho default é 1 byte.
BOOLEAN Armazena TRUE, FALSE ou NULL
10
COMPOSTOS
Comportam o armazenamento de
diferentes valores. Os tipos compostos
em PL/SQL são:
• Registros
• Tabelas
• Matrizes
(PUGA;FRANÇA; GOAYA, 2013)
11
REFERENCIAIS
Armazenam valores chamados de
indicadores, que designam outros itens
de programa.
Um exemplo do tipo referencial é o
CURSOR.
(PUGA;FRANÇA; GOAYA, 2013)
12
LOB (LARGE OBJECT)
Armazena blocos de dados não
estruturados, como textos, imagens
gráficas, videoclipes e formatos de
arquivos para armazenar sons com até
4 gigabytes.
Também fornecem acesso eficiente,
aleatório e em intervalo aos dados,
podendo ser atributos de um tipo de
objeto.
(PUGA;FRANÇA; GOAYA, 2013)
13
CLASSIFICAÇÃO DAS VAR LOBs
(PUGA;FRANÇA; GOAYA, 2013)
CLOB
BLOB
BFILE
14
CLOB
Armazena blocos grandes
de dados com caracteres
de um único byte no banco
de dados.
(PUGA;FRANÇA; GOAYA, 2013)
15
BLOB
Armazena objetos binários
grandes no banco de
dados, em linha (dentro de
uma linha da tabela) ou
fora de linha (fora da linha
da tabela).
(PUGA;FRANÇA; GOAYA, 2013)
16
BFILE
Armazena objetos binários
grandes em arquivos do
sistema operacional, fora
do Banco de Dados.
(PUGA;FRANÇA; GOAYA, 2013)
17
SINTAXE para DECLARACAO de variaveis
identificador [CONSTANT] {tipo de dados I
tabela%coluna type I variável%type)} [NOT NULL]
[ : = valor para inicializacão I expr default]
(PUGA;FRANÇA; GOAYA, 2013)
ELEMENTOS e FUNCIONALIDADES
identificador Nome da variável
CONSTANT A constante deve ser obrigatoriamente
inicializada.
tipo de dados Determina o tipo de dado que a variável ou a 
constante armazenará
%type Declara variáveis com a mesma coluna ou de 
uma variável já existente
NOT NULL Determina ser de preenchimento obrigatório
expr Valor para inicialização de uma variável ou
constante. Pode ser uma literal, outra variável,
ou uma expressão que envolve operadores ou
funções.
18
EXEMPLO 1 number
declare
soma number;
begin
soma := 2**2;
dbms_output.put_line('Soma=' || soma);
end;
(PUGA;FRANÇA; GOAYA, 2013)
19
EXEMPLO 2 date
declare
v_nascimento date;
v_data date := sysdate + 7;
begin
v_nascimento:= TO_DATE ('26-JAN-1972');
dbms_output.put_line('Nascido em ' ||
v_nascimento);
dbms_output.put_line('Hoje mais 7 dias ' ||
v_data);
end;
(PUGA;FRANÇA; GOAYA, 2013)
20
EXEMPLO 3 number inicializado
declare
v_valor number(7) not null := 10;
begin
v_valor := v_valor * 2340;
dbms_output.put_line('Valor =' || v_valor);
end;
(PUGA;FRANÇA; GOAYA, 2013)
21
EXEMPLO 4 varchar2
declare
v_uf varchar2(2) := 'CE';
begin
dbms_output.put_line('Estado =' || v_uf);
end;
(PUGA;FRANÇA; GOAYA, 2013)
22
EXEMPLO 4 varchar2 default
declare
v_uf varchar2(2) := 'CE';
v_uf2 varchar2(2) default 'RN';
begin
dbms_output.put_line('Estado =' || v_uf);
dbms_output.put_line('Estado padrao =' ||
v_uf2);
end;
(PUGA;FRANÇA; GOAYA, 2013)
23
EXEMPLO 5 boolean
declare
v_teste_logico boolean := (347>56);
soma number;
begin
IF (v_teste_logico) THEN
dbms_output.put_line('Valor da expressao =
VERDADEIRO');
END IF;
end;
(PUGA;FRANÇA; GOAYA, 2013)
24
EXEMPLO 6 CONSTANTES
declare
v_constante constant number := (3.14);
begin
dbms_output.put_line('Valor da constante =' ||
v_constante);
end;
(PUGA;FRANÇA; GOAYA, 2013)
25
PL/SQL – exemplo banco de dados
(PUGA;FRANÇA; GOAYA, 2013)
create table fatura(
nro_venda number(10)not null,
vlr_fatura number(10),
primary key (nro_venda))
SELECT * from fatura;
INSERT INTO fatura VALUES (1,1000);
INSERT INTO fatura VALUES (1,2000);
INSERT INTO fatura VALUES (1,3000);
SELECT * from fatura;
26
PL/SQL – exemplo banco de dados
(PUGA;FRANÇA; GOAYA, 2013)
DECLARE
v_maior number(10,2);
v_menor number(10,2);
v_media number(10,2);
BEGIN
SELECT MAX(vlr_fatura), MIN(vlr_fatura), 
AVG(vlr_fatura)
INTO v_maior, v_menor, v_media
FROM fatura;
dbms_output.put_line('Valor maior fatura =' || 
v_maior);
END;
27
PL/SQL – exemplo2 banco de dados
(PUGA;FRANÇA; GOAYA, 2013)
DECLARE
v_maior number(10,2);
v_menor number(10,2);
v_media number(10,2);
BEGIN
SELECT MAX(vlr_fatura), MIN(vlr_fatura), 
AVG(vlr_fatura)
INTO v_maior, v_menor, v_media
FROM fatura;
dbms_output.put_line('Valor maior fatura =' || v_maior);
dbms_output.put_line('Valor menor fatura =' || 
v_menor);
dbms_output.put_line('Valor media das fatura =' || 
v_media);
END;
28
EXEMPLO 7 %type
declare
v_constante constant number := (3.14);
v_const2 v_constante%type := (3/4);
begin
dbms_output.put_line('Valor da constante =' ||
v_constante);
dbms_output.put_line('Valor da constante2 =' ||
v_const2);
end;
(PUGA;FRANÇA; GOAYA, 2013)
MODIFICANDO DONO ou GRUPO
29
OBRIGADO !!!
ZAP 9750-2901
@profjsflavioalves

Mais conteúdos dessa disciplina