Академический Документы
Профессиональный Документы
Культура Документы
Funções
Round
select round(2.98,2) from dual
trunc
select trunc(2.9889,1) from dual
DECODE(SEXO,’M’,MASC’,’F’,’FEMININO’,’INDEFINIDO’)
SE ENTAO SE ENTAO SENAO == INDEFINIDO
FUNÇÕES DE CONVERSÃO
hora e data
SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI:SS') FROM DUAL;
transforma a data em no formato char
somente a hora
SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') FROM DUAL;
somente o ano e mes
SELECT TO_CHAR(SYSDATE,'YYMM') FROM DUAL;
somente o numero do dia da semana
SELECT TO_CHAR(SYSDATE,'D') FROM DUAL;
somente o dia por extenso
SELECT TO_CHAR(SYSDATE,'Dy') FROM DUAL;
Pega a hora do sistema menos uma determinada data
SELECT (SYSDATE - TO_DATE('02/07/1980','DD/MM/YYYY')) / 360 FROM DUAL
Somando 15 horas sobre a data do sistema
SELECT SYSDATE + 15 FROM DUAL;
hora atual do sistema mais 24 horas para charactere
SELECT TO_CHAR(SYSDATE+1/24, 'DD/MM/YY HH24:MI') FROM DUAL;
adiciona ou diminui determinada quantidade de meses a partir da data do sistema
SELECT ADD_MONTHS(SYSDATE, -25 ) FROM DUAL;
adiciona + 30 dias a partir do ultimo dia do sistema(ontem)
SELECT LAST_DAY(SYSDATE + 30) FROM DUAL;
Function
Retorna o valor na propria função
Procedure
Não retorna valor na propria função
LooP Básico:
DECLARE
VAR_COD EMPREGADO.COD_EMPREGADO%TYPE := 100;
// do tipo empregado que pertence a tabela empregado
Indices
O que é um índice? para que serve?
Recomenda-se
Por regra toda chave primária possui um índice(automático)
toda chave estrangeira tenha um índice para ela
ATRIBUTOS com maior numero de consultas possua índice também
se a consulta for rara nao precisa da existencia de índices, pois o banco precisa escrever mais
vezes no caso da inserção, ex: na tabela, no índice
Exercício
FAÇA UMA PROCEDURE PARA INSERIR UM CLIENTE
* PARAMETROS DE ENTRADA: TODOS OS ATRIBUTOS DO CLIENTE
* PARAMETROS DE SAIDA: MENSAGEM DO SISTEMA
EXEMPLO “INCLUIDO COM SUCESSO” OU “CPF INVALIDO”
CRIAR SEQUENCIA
CREATE SEQUENCE SEQ_CLIENTE
START WITH 1
INCREMENT BY 1
NOMAXVALUE
NOMINVALUE
NOCYCLE
NO CACHE
ALTERAR SENHA
ALTER USER “300400500” IDENTIFIED BY “SENHAX”;
SYSTABLES____USER_TABLES
SYSCOLUMNS___USER_COLUMNS
SYSINDEXES____USER_INDEXES
SYSUSERS______USER_SYSUSERS
===================================VISOES===========================
USER_TABLES
USER_COLUMNS
USER_INDEXES
-
-
-
-
-
USER_SOURCE
USER_OBJECTS
USER_CONSTAINTS
Construindo visoes
OBS: Visão é uma representação logica que representa uma tabela
OBS:quando utilizamos visao simplificamos sql e temos mais segurança, but nos perdemos um
pouco em determinadas situações no desempenho.
Quando queremos proteger um conjusto de tabelas podemos utilizar
Obs:Podemos faer insert update delete desde que a visão contenha a chave primaria da tabela
base, desde que nao tenha junções, counts.
Obs: Vantgens
Independencia logica de dados
Podemos alterar uma estrutura de uma tabela cuja visao
Crescimento
podemos alterar as estruturas das tabelas, pois as visões nao serao refletidas
ex:
1 SP
2 SP
3 PR
4 PR
5 PR