Publicado por: Gustavo Henrique | Julho 1, 2009

Firebird, Procedure para Alterar tudo para Maiusculo ….

neste caso resolvi ter como parametro de entrada a tabela e o nome do campo, mas se vc quiser é só tirar estes parametros.

CREATE PROCEDURE SP_ALTERA_PARA_MAISCULO
AS
DECLARE VARIABLE STRINGSQL VARCHAR(1000);
DECLARE VARIABLE VCAMPO VARCHAR(100);
DECLARE VARIABLE VTABELA VARCHAR(100);
begin
  FOR
    SELECT CAMPOS.RDB$RELATION_NAME, CAMPOS.RDB$FIELD_NAME
    FROM RDB$RELATIONS TABELAS, RDB$RELATION_FIELDS CAMPOS, RDB$FIELDS DADOSCAMPO, RDB$TYPES TIPOS
    WHERE TABELAS.RDB$RELATION_NAME = CAMPOS.RDB$RELATION_NAME AND CAMPOS.RDB$FIELD_SOURCE = DADOSCAMPO.RDB$FIELD_NAME AND
         DADOSCAMPO.RDB$FIELD_TYPE = TIPOS.RDB$TYPE AND TIPOS.RDB$FIELD_NAME = ‘RDB$FIELD_TYPE’ AND         TIPOS.RDB$TYPE_NAME = ‘VARYING’ AND TABELAS.RDB$SYSTEM_FLAG = 0
         INTO :VTABELA, :VCAMPO
  DO
  BEGIN
    STRINGSQL = ”;
    STRINGSQL = ‘ UPDATE ‘ || VTABELA;
    STRINGSQL = STRINGSQL || ‘ SET ‘ || VCAMPO || ‘ = UPPER(‘ || VCAMPO || ‘)’;
    EXECUTE STATEMENT STRINGSQL;
  END

  /* Procedure Text */
  suspend;
end


Deixe uma resposta

Sua resposta:

Categorias