[firebase-br] 2º tentativa ..... se eu me ajoelhar e implorar vai ficar chato, heheheh.

alexandre pedroso alexgpedroso em gmail.com
Qua Abr 23 11:35:55 -03 2008


Obrigado por ter respondido.

Na realidade pensei em algo do tipo:

*create procedure Teste
as*
* declare variable StrDesc varchar(20);
 declare variable SubStrDesc varchar(20);**
begin
  for select descricao from concentrados
  where descricao starting upper(substring(descricao from 1 for 1)) into:
Desc1 *
*begin*
*  // For e condições*
*end
end*
**
1º Insere o valor do for select em uma variavel StrDesc
2º Cria-se um for para ler caracter por caracter do StrDesc , e cada
caracter é inserido na
       var   SubStrDesc, ou seja SubStrDesc irá acumular os caracteres lidos
do for
       (StrDesc). Quando encontrar a condição asc(32) significa que
significa que o caracter
       espaco  separa o 2º grupo da string entao se averigua se o 1º
caracter deste grupo é
       maiusculo..... e fazer a mesma averiguação para todos os grupos de
caracter ate o fim
      da String.
Claro deve se averiguar se ja chegou no final da String e o select acima ja
averigua se o 1º caracter do 1º grupo é maiusculo. Sendo assim a averiguacao
seria feita a partir do 2º grupo.

Não sei se é melhor mostrar o resultado da pesquisa ja direto da procedure
ou se seria melhor fazer um select com uma chamada para a procedure. Se
alguem tiver uma ideia melhor ou saber como se faz o esquema que descrevi
acima .... por favor postem.


As condições sequentes é que me mataram, na realidade necessita de um for
parar passar caracter por caracter, jogar a descricao inteira para dentro de
uma variavel, e ir deletando a medida que são feitas as validações (As de
letra maiuscula no grupo de caracteres) , exemplo:

1º Jogo o valor do Into :


2008/4/23 Ricardo M. Gimenez <rmgimenez em gmail.com>:

> Eu acho que isso deve ser feito via UDF, mas não conheço nenhuma para
> fazer isso.
>
> pensei nisso:
>
> select *
> from tabela
> where descricao like '% a%'
>
> Tipo, esse sql vai trazer todos os nomes que tenham no inicio de algum
> nome a letra "a" minúsculo... Não consegui pensar em uma solução melhor
> só com sql.
> O problema desse sql é que vc teria que fazer com todas as letras...
>
> select *
> from tabela
> where descricao like '% a%'
>  or descricao like '% b%'
>  or descricao like '% c%'
> .
> .
> .
>
>
>
> alexandre pedroso wrote:
> > Sei que poucas pessoas dispoe de tempo e que é mais facil fazer isto via
> > codigo, mas algume poderia dar alguma dica?
> >
> > A intenção é fazer um select de um campo "DESCRICAO", e verificar se o
>> > caracter de cada grupo de letras é maiusculo.
> > Isto é a nivel de padronização. Sei que usando o STARTING consigo ver se
> o
> > 1º caracter do 1º grupo do campo descricao é maiusculo, mas me interessa
> > saber se os 1ºs caracteres dos grupos de letras seguintes tambem sao em
> > letra maiuscula.
> >
> > Ex1: Rivaldo "p"ereira   <- Neste caso a letra "p" do 2ºgrupo de
> caracteres
> > é minusculo.
> > Ex2: Rivaldo "P"ereira   <- Neste caso a letra "p" do 2ºgrupo de
> caracteres
> > é maiusculo.
> >
> >
> > A intencao do select é amostrar todas as descricoes do exemplo 1 (Ex1)
> > ______________________________________________
> > 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
>



Mais detalhes sobre a lista de discussão lista