[firebase-br] criar SQL

Sandro Souza escovadordebits em gmail.com
Qua Jun 10 14:12:21 -03 2009


Bom dia/tarde Zottis.

Grande Zottis, aqui vai a minha humilde sugestão:

SET TERM ^ ;

CREATE OR ALTER PROCEDURE TESTE AS
DECLARE VARIABLE QUANT VARCHAR(100);
BEGIN
  -- Verificando se a tabela CONTRACHEQUE tem o campo TOTALTMP.
  SELECT
    COUNT(*)
  FROM
    RDB$RELATION_FIELDS
  WHERE
    (RDB$RELATION_NAME = 'CONTRACHEQUE')AND
    (RDB$FIELD_NAME = 'TOTALTMP')
  INTO :QUANT;
  -- Ainda consta?
  IF (QUANT = 1) THEN
    -- Remove o campo temporário.
    EXECUTE IMMEDIATE 'ALTER TABLE CONTRACHE DROP TOTALTMP';
END^

SET TERM ; ^

Espero ter ajudado mais que atrapalhado. :D

2009/6/10 Zottis <zottissistemas em brturbo.com.br>

> Pessoal, tenho que montar um script via SQL
> para verificar se um determinado campo existe,
>
> com o Delphi eu consigo fazer, mas preciso via SQL Direto, alguém saberia
> como fazer?
>
>
> desde ja agradeço.
>
> o que eu preciso é mais ou menos isso:
>
> CASE COUNT(select RDB$RELATION_NAME,RDB$FIELD_NAME from RDB$RELATION_FIELDS
>  where
>  RDB$FIELD_NAME    =  'TOTALTMP'  AND
>  RDB$RELATION_NAME =  'CONTRACHEQUE')> 0
>  then
>    BEGIN
>            alter table CONTRACHEQUE
>            drop TOTALTMP;
>    END;
>
>
>
> Zottis(TeamFB Users)
>
> Zottis Sistemas - 2009 Ano XII
> Programação Delphi/PHP/Firebird/MySQL
>
> "Um homem só tem o direito de olhar
>  a um outro de cima para baixo, quando
>  vai ajuda-lo a levantar-se".
>                   Gabriel Garcia Marquez
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista