Olá galera, nesta Quick Tips, irei mostrar como podemos trabalhar com View no Firebird.

Uma rápida definição para View seria dizer que ela é uma tabela temporária que irá armazenar os dados de uma instrução de Select.

Veja o esqueleto de uma View no Firebird :

create view new_view ( _fields_ )
  as
  select _fields_ from _table_name_
  where _conditions_

A View é mais rápida do que a execução de uma instrução utilizando Select, pois ela armazena o RecordSet ou ResultSet em uma tabela temporária, sem contar que ao invés de reescrever toda a instrução, você simplesmente executa um Select na View, muito mais prático.

Imagine que você quer pegar uma descrição de uma chave estrangeira na tabela principal, exemplo cliente e tipo cliente. Como seria utilizando um Select ?

SELECT C.DESCRICAO, TC.DESCRICAO
  FROM CLIENTE C, TIPOCLIENTE TC
  WHERE C.IDTIPOCLIENTE = TC.IDTIPOCLIENTE

Mas isso é mole com um Select rápido eu faço isso para que criar uma View neste caso ? Neste caso não tem muito fundamento, mas imagina você querer saber a UF de um determinado cliente onde você tenha a tabela Cliente /EnderecoCliente/ Bairro/ Cidade/ UF ? Seria uma tripa de códigos bem grande certo? Adaptando uma View para esta situação rapidamente podemos ter a UF de um Cliente.

Vamos agora criar uma View no Firebird.

CREATE VIEW VWCLIENTETIPOCLIENTE(
      NOMECLIENTE,
      NOMETIPOCLIENTE,
    CPFCLIENTE,
    RGCLIENTE,
    SEXOCLIENTE,
    DATANASCIMENTOCLIENTE)
  AS
  SELECT C.DESCRICAO, TC.DESCRICAO, C.CPF, C.RG, C.SEXO, C.DATANASCIMENTO
  FROM CLIENTE C, TIPOCLIENTE TC
  WHERE C.IDTIPOCLIENTE = TC.IDTIPOCLIENTE;

Podemos notar que criamos dois parâmetros que seriam os Fields que queremos exibir quando formos usar a View.

Como podemos utilizar esta View na prática ?

SELECT NOMECLIENTE, NOMETIPOCLIENTE, CPF, 
    RG, SEXO, DATANASCIMENTO
   FROM VWCLIENTETIPOCLIENTE

Caso não queria exibir todos os campos da View basta retirar o mesmo do Select

SELECT NOMECLIENTE, SEXOCLIENTE, DATANASCIMENTOCLIENTE
  FROM VWCLIENTETIPOCLIENTE

Agora podemos adaptar esta pequena View para um calculo financeiro, ou pegar uma determinada descrição de uma tabela ligada com chave estrangeira, sem precisarmos reescrever toda hora um gigantesco script, considere uma View, como um “reaproveitador” de códigos, facilitador de trabalhos.

Fico por aqui ate à próxima Quick Tips.

Um abraço