[firebase-br] Update Geral

Reginaldo Jose Fiomano reginaldo.fiomano em gmail.com
Sex Out 24 13:42:59 -03 2014


Eduardo no meu caso essa procedure deu certo para atualizar campos VARCHAR
de todas as tabelas da uma olhada se te ajuda.

SET TERM ^ ;

create or alter procedure PRO_CAMPOS_VARCHAR
as
declare variable COD_TABELA integer;
declare variable NOME_TABELA varchar(40);
declare variable CAMPO varchar(100);
declare variable TIPO varchar(30);
declare variable SQL varchar(200);
begin
  for select first 3 cast(RDB$RELATIONS.RDB$RELATION_ID as integer)
COD_TABELA,
                     cast(RDB$RELATIONS.RDB$RELATION_NAME as varchar(40))
NOME_TABELA
      from RDB$RELATIONS
      where ((RDB$RELATIONS.RDB$SYSTEM_FLAG = 0) and
            (RDB$RELATIONS.RDB$RELATION_TYPE = 0))
      order by RDB$RELATIONS.RDB$RELATION_NAME
      into :COD_TABELA, :NOME_TABELA
  do
  begin
    for select A.RDB$FIELD_NAME NOME_DO_CAMPO, C.RDB$TYPE_NAME TIPO
               --  B.RDB$FIELD_SUB_TYPE SUBTIPO,
               -- B.RDB$FIELD_LENGTH TAMANHO,
               --  B.RDB$SEGMENT_LENGTH SEGMENTO,
               --  B.RDB$FIELD_PRECISION PRECISAO,
               -- B.RDB$FIELD_SCALE CASAS_DECIMAIS,
               --A.RDB$DEFAULT_SOURCE VALOR_PADRAO,
               --A.RDB$NULL_FLAG OBRIGATORIO
        from RDB$RELATION_FIELDS A, RDB$FIELDS B, RDB$TYPES C
        where (A.RDB$RELATION_NAME = :NOME_TABELA) and
              (B.RDB$FIELD_NAME = A.RDB$FIELD_SOURCE) and
              (C.RDB$TYPE = B.RDB$FIELD_TYPE) and
              (C.RDB$FIELD_NAME = 'RDB$FIELD_TYPE') and
              (C.RDB$TYPE_NAME = 'VARYING')
        order by RDB$FIELD_POSITION
        into :CAMPO, :TIPO
    do
    begin
      NOME_TABELA = trim(:NOME_TABELA);
      CAMPO = trim(:CAMPO);
      SQL = 'update ' || :NOME_TABELA || ' set ' || trim(:CAMPO) || ' = '
|| 'upper(' || :CAMPO || ')';
      execute statement :SQL;
    end
  end
end^

SET TERM ; ^

/* Existing privileges on this procedure */

GRANT EXECUTE ON PROCEDURE PRO_CAMPOS_VARCHAR TO INTEGRATIVAMASTER;

Em 24 de outubro de 2014 11:28, Willian Jorge Oliveira <wijloc em gmail.com>
escreveu:

> A dica do Walter é ideal, você usa as tabelas do Sistema para obter os
> dados necessários...
>
> Att,
>
> Em 24 de outubro de 2014 11:15, Reijanio Nunes Ribeiro <
> rnribeiro em gmail.com>
> escreveu:
>
> > no seu select vc pode usar a clausula upper pra que sejam os campos sejam
> > exibidos em maiúsculas bastas discriminar os campos upper(campo1,
> > upper(campo2) que irão aparecer em maiúscula no seu sistema
> >
> > 2014-10-23 21:10 GMT-03:00 Walter R. Ojeda Valiente <
> > sistemas2000profesional em gmail.com>:
> >
> > > No, no existe tal comando y tampoco es lógico que existiera, pero
> puedes
> > > escribir un stored procedure que realice esa tarea:
> > > 1. Para cada tabla de la Base de Datos
> > > 2. Para cada columna de esa tabla
> > > 3. Si su tipo es CHAR o VARCHAR entonces le aplica la función UPPER()
> > >
> > > Saludos.
> > >
> > > Walter.
> > >
> > >
> > > 2014-10-23 19:56 GMT-04:00 Eduardo Belo <beloelogica em gmail.com>:
> > >
> > > > Prezados,
> > > >
> > > > Preciso converter para Maiúscula (Upper) todos os campos do tipo
> > VarChar
> > > e
> > > > Char de todas as tabelas de uma determinada base.
> > > >
> > > > Existe algum comando que possa fazer isso de uma vez só?
> > > >
> > > >
> > > >
> > > > Agradeço antecipadamente a todos que ajudarem.
> > > >
> > > > Eduardo Belo
> > > > ______________________________________________
> > > > 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
> > > >
> > > ______________________________________________
> > > 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
> > >
> >
> >
> >
> > --
> > Reijanio Nunes Ribeiro
> > Desenvolvedor Delphi/Php
> > Suporte em TI
> > ______________________________________________
> > 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
> >
>
>
>
> --
> Willian Oliveira
> Desenvolvedor de Software | Realtec Sistemas | http://goo.gl/1Hx7do
> Sistemas de Informação | UFV - Campus Rio Paranaíba | http://goo.gl/uNWxjY
> ______________________________________________
> 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