 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
ahbortolotto Novato

Registrado: Sexta-Feira, 29 de Setembro de 2006 Mensagens: 18
|
Enviada: Ter Fev 27, 2007 3:27 pm Assunto: Update pegando apenas os números. |
|
|
| Moderadores Active-Delphi escreveu: |
Tópico editado por Sufolk.
Motivo: Regras do Fórum.
Titulo Original: UPDATE PEGANDO APENAS OS NUMEROS
|
Boa tarde,
Preciso fazer um update pegando as informações de um campo e joga-las em outro campo, até ai, tudo tranquilo, o problema é que o campo origem é do tipo string e contém letras e números e quero jogar apenas os registros que contenham números para o outro campo.
Existe maneira de fazer isso??
Obrigado pela atenção!
André Bortolotto |
|
| Voltar ao Topo |
|
 |
thomazs Moderador


Registrado: Segunda-Feira, 1 de Março de 2004 Mensagens: 2835
|
Enviada: Ter Fev 27, 2007 3:54 pm Assunto: |
|
|
Qual banco está usando???
Dependendo do Banco, dá pra se montar uma procedure, ou usar uma UDF ou Function... mas acho que,diretamente, num update será um pouco mais complicado. _________________ Suporte e Consultoria em Desenvolvimento de Sistemas
Bacharel em Sistemas de Informação
Especialista em Bancos de Dados
Desenvolvimento: Clipper, Delphi, PHP, Python/Django |
|
| Voltar ao Topo |
|
 |
ahbortolotto Novato

Registrado: Sexta-Feira, 29 de Setembro de 2006 Mensagens: 18
|
Enviada: Ter Fev 27, 2007 4:05 pm Assunto: |
|
|
| Então, esqueci de mencionar, mas estou usando o firebird 2.0 |
|
| Voltar ao Topo |
|
 |
thomazs Moderador


Registrado: Segunda-Feira, 1 de Março de 2004 Mensagens: 2835
|
Enviada: Ter Fev 27, 2007 4:24 pm Assunto: |
|
|
Se quiser usar uma procedure, poderia ser algo assim:
| Código: | SET TERM ^ ;
CREATE PROCEDURE FAZ_UPDATE
AS
DECLARE VARIABLE VALOR VARCHAR(10);
DECLARE VARIABLE VALORN INTEGER;
begin
FOR SELECT CODIGO FROM TAB INTO :VALOR DO BEGIN
VALORN = CAST( VALOR AS INTEGER );
UPDATE TAB SET OUTRO = :VALORN WHERE CODIGO = :VALOR;
WHEN ANY DO VALORN = 0;
END
end^
SET TERM ; ^ |
Nesse exemplo, TAB é a tabela, CODIGO é o valor do código que contém números e letras, e OUTRO é o campo que receberá o valor de código, caso código possua apenas números.
Como pode ver, fiz usando uma procedure. Isso ficaria mais difícil de se fazer, se fosse diretamente no UPDATE. Eu acho que teria que ser montada uma UDF ou uma procedure pra auxilio. Mas usando a procedure, como disposta acima, já faz o que você quer. _________________ Suporte e Consultoria em Desenvolvimento de Sistemas
Bacharel em Sistemas de Informação
Especialista em Bancos de Dados
Desenvolvimento: Clipper, Delphi, PHP, Python/Django |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|