Error en update de datos

06/06/2007 - 23:44 por Geovanny Castillo | Informe spam
Amigos:

Nuevamente les solicito su ayuda. Tengo un problema con un update de datos.

Les comento, creo una tabla temporal

Select campo1, campo2, 0.00 as pspto, 0.00 as acum
into #t1
from qry_datos

Los campos pspto y acum deben ser de tipo decimal

Luego trato de hacer un update de la siguiente forma:

update #t1
set #t1.pspto = -1234.87, #t1.acum = 3214.54
where campo1 = 'algo'

Cuando ejecuto este código tengo el siguiente error de sql:

Servidor: mensaje 8115, nivel 16, estado 8, línea 1
Error de desbordamiento aritmético al convertir numeric al tipo de datos
numeric.
Se terminó la instrucción.

Que puedo hacer por favor ya he probado en el where con collate porque
me daba errores:

WHERE (campo1 = 'algo' COLLATE Modern_Spanish_CI_AS)
WHERE (campo1 = 'algo' COLLATE SQL_Latin1_General_CP1_CI_AS)

Muchas gracias de antemano
 

Leer las respuestas

#1 Maxi
07/06/2007 - 02:51 | Informe spam
Hola, a ver, y donde le indicas en la definicion de la tabla que es decimal
y ademas cual es su escala ? no te recomiendo que hagas el select para
definir la tabla temporal, definila con create table


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Geovanny Castillo" escribió en el mensaje
news:%23L%
Amigos:

Nuevamente les solicito su ayuda. Tengo un problema con un update de
datos.

Les comento, creo una tabla temporal

Select campo1, campo2, 0.00 as pspto, 0.00 as acum
into #t1
from qry_datos

Los campos pspto y acum deben ser de tipo decimal

Luego trato de hacer un update de la siguiente forma:

update #t1
set #t1.pspto = -1234.87, #t1.acum = 3214.54
where campo1 = 'algo'

Cuando ejecuto este código tengo el siguiente error de sql:

Servidor: mensaje 8115, nivel 16, estado 8, línea 1
Error de desbordamiento aritmético al convertir numeric al tipo de datos
numeric.
Se terminó la instrucción.

Que puedo hacer por favor ya he probado en el where con collate porque me
daba errores:

WHERE (campo1 = 'algo' COLLATE Modern_Spanish_CI_AS)
WHERE (campo1 = 'algo' COLLATE SQL_Latin1_General_CP1_CI_AS)

Muchas gracias de antemano

Preguntas similares