 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
laremi400 Master

Registrado: 12 May 2004Mensajes: 179
|
Publicado: Vie 25 Feb, 2005 12:13 pm Asunto: Error de división entre cero |
|
|
Eso es lo que me sale cuando ejecuto este código en SQL SERVER 2000:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Agrupacion]'))
drop view [dbo].[Agrupacion]
GO
Create view Agrupacion as
Select Referencia,Ubicacion,Orden,CantidadUnidad,
UnidadesPalet,Cantidad,
cast ((Cantidad/CantidadUnidad) as smallint) as cajas
from Ubicaciones
join Referencias on Referencia = RefReferencia
where RefCliCIF = 'XXXXXX'
go
Select * from Agrupacion
where cajas < 12
order by UbiRefReferencia
Si no pongo lo de cajas < 12 no falla. Si lo pongo me da ese error. No entiendo por que, no hay ninguno que sea cero y aunque lo fuera no debería darlo ¿o no?.
¿Que pueda fallar aquí?¿Es un bug? |
|
| Volver arriba |
|
 |
alfredo Master

Registrado: 13 Oct 2003Mensajes: 246Ubicación: Valencia Venezuela
|
Publicado: Sab 26 Feb, 2005 4:23 pm Asunto: |
|
|
Hola, no he trabajado con el SQLServer pero creo entrever que tu problema no esta en el codigo expuesto, sino en los datos,
donde el select incluya un valor CantidadUnidad nulo o cero te saldra ese error... debido a esta expresion: cast ((Cantidad/CantidadUnidad) as smallint) as cajas... |
|
| Volver arriba |
|
 |
laremi400 Master

Registrado: 12 May 2004Mensajes: 179
|
Publicado: Lun 28 Feb, 2005 2:55 pm Asunto: |
|
|
Gracias Alfredo.
Fué lo primero que pensé, pero después de revisar la DB no hay ninguno a cero o a NULL. Además de ser así ¿no me daría el error en la vista?.
El caso es que el error me lo da cuando ejecuto la select.
Este código ejecutandolo sólo o dentro del create view, funciona OK.
Select Referencia,Ubicacion,Orden,CantidadUnidad,
UnidadesPalet,Cantidad,
cast ((Cantidad/CantidadUnidad) as smallint) as cajas
from Ubicaciones
join Referencias on Referencia = RefReferencia
where RefCliCIF = 'XXXXXX'
Y en la columna cajas aparcen todos los valores que deben. pero si hago por ejemplo:
Select Referencia,Ubicacion,Orden,CantidadUnidad,
UnidadesPalet,Cantidad,
cast ((Cantidad/CantidadUnidad) as smallint) as cajas
from Ubicaciones
join Referencias on Referencia = RefReferencia
where RefCliCIF = 'XXXXXX'
and cajas >
entonces me da divisón por cero. Mosqueante, muy mosqueante. |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Mar 01 Mar, 2005 4:19 pm Asunto: |
|
|
Hola... al leer tu problema, me intrigo e hice una pruena con SQL Server 7, pero no obtuve ningun problema, estuve jugando con los datos y todo salia bien, asi que lo que creo que probablemente es, es algun tipo de error en tus datos que no hayas detectado... _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
laremi400 Master

Registrado: 12 May 2004Mensajes: 179
|
Publicado: Jue 03 Mar, 2005 11:06 am Asunto: |
|
|
Gracias Milord.
Efectivamente, en el campo cantidad había algunos que tenían valor cero. Antes de hacer la pregunta al foro había hecho la comprobación, pero (borrico de mí) había hecho la comprobación con el otro campo, y claro, como para volverme más loco de lo que ya estoy.
Además me despistaba muchísimo que el error me lo devolviera después de realizada la vista. Pero mira, ya hemos descubierto otra cosa del SQL.
Lo dicho, gracias mil. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|