Mostrando postagens com marcador firebird. Mostrar todas as postagens
Mostrando postagens com marcador firebird. 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.

segunda-feira, 3 de junho de 2013

Concatenando Strings ao resultado de uma Query (SELECT) (Firebird)




Introdução

O principal objetivo deste post é explica de maneira simples e rápida como se pode
manipular o resultado da execução de uma determinada query no banco de dados 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-03',4,'JULHO');
INSERT INTO PESSOAS VALUES(4,'1991-11-12',2,'ROBERTO');
INSERT INTO PESSOAS VALUES(5,'1989-12-15',1,'FERNANDO');



Agora podemos iniciar o post de vez.


Concatenando o resultado com String já definidas

Para concatenar o resultado de um query com uma string já definida basta colocar string entre aspas simples
e depois colocar dois paipes | após a ultima aspas simples, vide exemplo abaixo:

SELECT 'Bom dia '|| PES_NOME ||', tudo bem ?' FROM PESSOAS;

Neste exemplo o resultado será:

'Bom dia MARCOS, tudo bem ?'
'Bom dia MARIO, tudo bem ?'
'Bom dia JULHO, tudo bem ?'
'Bom dia ROBERTO, tudo bem ?'
'Bom dia FERNANDO, tudo bem ?'