Mostrando postagens com marcador utilizar. Mostrar todas as postagens
Mostrando postagens com marcador utilizar. Mostrar todas as postagens

sexta-feira, 16 de agosto de 2013

Utilizar o Clausula Case no Firebird

Introdução

O principal objetivo deste post é explicar como se faz  a utilização da cláusula CASE no Firebird.

Montando ambiente de teste

Para testarmos neste post iremos criar uma tela simples chamada PESSOA que guarda algumas informações
pertinentes a uma determinada pessoa (DATA_NASCIMENTO, nome, numero de filhos)

CREATE TABLE PESSOAS
(
    PES_ID INTEGER PRIMARY KEY,
    PES_DATA_NASCIMENTO DATE,
    PES_NUMERO_FILHOS INT,
    PES_NOME VARCHAR(48)
);



Após criar uma tabela será necessário popula-la.

INSERT INTO PESSOAS VALUES(1,'1988-12-31',3,'MARCOS');
INSERT INTO PESSOAS VALUES(2,'1982-03-31',5,'MARIO');
INSERT INTO PESSOAS VALUES(3,'1997-10-3',4,'JULHO');
INSERT INTO PESSOAS VALUES(4,'1991-11-12',2,'ROBERTO');
INSERT INTO PESSOAS VALUES(5,'1989-12-15',1,'FERNANDO');






Figura 1: Tabela PESSOAS bem com seu conteúdo.

 

Utilizando o comando CASE


A sintaxe do comando é bem simples basta seguir a sintaxe abaixo:

SELECT 
CASE
 CAMPO_TESTADO
WHEN SITUACAO_1 THEN
 RESPOSTA_1
WHEN SITUACAO_2 THEN
 REPOSTA_2
ELSE  RESPOTA_N
END


FROM
 TABELA


Onde.

  • CAMPO_TESTADO - Campo a ser testado.
  • RESPOSTA_1 até REPOSTA_N - Possíveis resultados da expressão testada.
  • TABELA - Tabela a ser utilizada.


Exemplo

Vou criar uma query na qual a expressão "Tem filho único" é expressada quando o indivíduo tem um único filho e "Tem mais de um filho", quando o indivíduo tem mais de um filho.


SELECT
 CASE
  pes_numero_filhos
 WHEN 1  THEN
      'Tem filho único'
 ELSE
      'Tem mais de um filho'
 end  AS SITUACAO_FILHO
 ,pes_nome
FROM PESSOAS




Figura 2: Resultado da execução da query.


Conclusão


Como foi possível ver ao longo do post a utilização da Cláusula CASE no firebird é bem simples. Para este post foi utilizada a versão 2.5 do firebird.



sexta-feira, 9 de agosto de 2013

Como criar e utilizar uma VIEW (visão)

Introdução

O principal desde post é explicar de maneira simples como se criar e utilizada uma View(Visão).
Quando se cria uma View é criada uma espécie de tabela virtual ou consulta armazenada pela qual é possível obter somente os dados existentes no Select contido no corpo da View.

Vantagens


Dentre as vantagens existentes na utilização de Views pode citar:

- Evitar retrabalho - Ou seja não é necessário executar sempre um mesmo bloco SQL para obter um determinado resultado.


- Associar varias tabelas em uma única (VIEW) - É possível juntar varias tabelas em uma única view evitando desta forma precisar editar joins.

- Restrição de dados - É possível criar uma VIEW para uma tabela e exibir só um determinado grupo de colunas.

Sintaxe


Abaixo é possível ver a sintaxe básica para criar uma view.

Sintaxe:

CREATE VIEW NOME_VIEW (CAMPO_V1,CAMPO_V2,...,CAMPO_VN)
AS
SELECT CAMPO_1,CAMPO_2,...,CAMPO_N FROM TABELA_USADA

Onde:

- NOME_VIEW - Nome que será dada a view que será criada.

- CAMPO_V1 - Nome da coluna que será criada na VIEW que é referenciada no na TABELA_USADA ao CAMPO_1.

- CAMPO_1 - Nome da coluna da TABELA_USADA que será visto na VIEW

-TABELA_USADA - Tabela ou tabelas que farão alimentação da view.

 

Utilização


O processo de utilização da view é bem simples basta seguir a sintaxe abaixo:


SELECT * FROM NOME_VIEW


Onde:

NOME_VIEW - Nome da VIEW que criamos.


Montando ambiente de teste

Para testarmos neste post iremos criar uma tela simples chamada PESSOA que guarda algumas informações
pertinentes a uma determinada pessoa (DATA_NASCIMENTO, nome, numero de filhos)

CREATE TABLE PESSOAS
(
    PES_ID INTEGER PRIMARY KEY,
    PES_DATA_NASCIMENTO DATE,
    PES_NUMERO_FILHOS INT,
    PES_NOME VARCHAR(48)
);



Após criar uma tabela será necessário popula-la.

INSERT INTO PESSOAS VALUES(1,'1988-12-31',3,'MARCOS');
INSERT INTO PESSOAS VALUES(2,'1982-03-31',5,'MARIO');
INSERT INTO PESSOAS VALUES(3,'1997-10-3',4,'JULHO');
INSERT INTO PESSOAS VALUES(4,'1991-11-12',2,'ROBERTO');
INSERT INTO PESSOAS VALUES(5,'1989-12-15',1,'FERNANDO');







Neste exemplo vamos criar uma view que somente mostrar o nome e a quantidade de filhos que o indivíduos na tabela recém criada tem.


CREATE VIEW NOME_FILHO (Nome, TOTAL_FILHOS) AS
SELECT  PES_NOME, PES_NUMERO_FILHOS FROM PESSOAS


Agora vamos executar a VIEW.

SELECT * FROM NOME_FILHO   


Conclusão


Como foi possível ver ao longo deste pequeno post a criação e utilização de uma view é bem simples e quando a mesma é bem utilizada pode vir a ser muito utíl.