Tento alterar os dados e concatenar eles, mas naum funciona

Firebird

28/04/2005

Esse é o Código SQL:
update Produto P set P.DescProduto = ( P.DescProduto||(Select M.DescMarca from Marca M where M.CodMarca = P.CodMarcaProd))


Tem que concatenar a Descrição do produto com a Descrição de Marca... ;)

O que será que eu faço para isso funcionar ??? :roll:

Dá aquela mensagem de:
Arithmetic exception, numeric overflow, or string truncation

Acredito que deve ter um meio de resolver isso via banco... :)


Diegors20

Diegors20

Curtidas 0

Respostas

Beppe

Beppe

28/04/2005

A string resultante é maior que o tamanho do campo. Se está usando char(), mude para varchar(), que tem tamanho dinãmico.


GOSTEI 0
Diegors20

Diegors20

28/04/2005

A string resultante é maior que o tamanho do campo. Se está usando char(), mude para varchar(), que tem tamanho dinãmico.


Mas é que naum posso alterar a tabela, apenas tenho que concatenar dos dois campos em apenas um... OK!

Será que tem algum comando como trim() ou algo parecido, que force os dados a caberem lá, mesmo que falte alguns dados...´que fiquem cortados´.

EX.:

Os campos saum: varchar(50)

DescProduto = ´Caixa de Papel com 200 folhas´
DescMarca = ´Credeal´

Tem que ficar:

DescProduto = ´Caixa de Papel com 200 folhas Credeal´

Mas alguns campos saum maiores, ai dá o overflow, será que naum dá para gravar só o que cabe e deu ?


GOSTEI 0
Fsflorencio

Fsflorencio

28/04/2005

Use a função substring que equivale ao comando copy do Delphi.


GOSTEI 0
Diegors20

Diegors20

28/04/2005

Use a função substring que equivale ao comando copy do Delphi.


Naum funcionou, ele não reconhece essa substring...

Alguém sabe o nome desta função que parece o copy(campo,1,50) do delphi para o interbase ????

Agradeço muito caso encontrem...

Obrigado!


GOSTEI 0
Gandalf.nho

Gandalf.nho

28/04/2005

Se não reconhece o SUBSTRING, vc deve usar a UDF SUBSTR que acompanha o IB/FB, basta declará-la no banco e usá-la


GOSTEI 0
Diegors20

Diegors20

28/04/2005

Muito Obrigado pelas dicas e respostas...

Vou tentar usar esses outros comandos... :lol

Valeu, até mais... ;)


GOSTEI 0
POSTAR