Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2014, 09:17
Angel_Nemo
 
Fecha de Ingreso: abril-2008
Mensajes: 112
Antigüedad: 16 años
Puntos: 0
Error converting data type varchar to numeric.

Amigos del foro.

Tengo un inconveniente al ejecutar un SP, ya realice pruebas en una tabla pequeña y funciona bien, pero al ejecutarla en la tabla de mi aplicación obtengo el siguietne mensaje:

"Error converting data type varchar to numeric."

Mi tabla es:
Código SQL:
Ver original
  1. CREATE TABLE [dbo].[CAJAS](
  2.     [C_CODIGO] [nvarchar](15) NOT NULL,
  3.     [CLI_CODIGO] [nvarchar](15) NOT NULL,
  4.     [C_NUMERO] [SMALLINT] IDENTITY(1,1) NOT NULL,
  5.     [CAJA_CONTENIDO] [nvarchar](3000) NULL,
  6.     [FECHA_EMISION] [datetime] NOT NULL,
  7.     [FECHA_CADUCIDAD] [datetime] NULL,
  8.     [FECHA_ALTA] [datetime] NULL,
  9.     [FECHA_BAJA] [datetime] NULL,
  10.     [ALTA_POR] [nvarchar](50) NULL,
  11.     [BAJA_POR] [nvarchar](50) NULL,
  12.     [UBI_COORD1] [nvarchar](15) NULL,
  13.     [UBI_COORD2] [nvarchar](15) NULL,
  14.     [UBI_COORD3] [nvarchar](15) NULL,
  15.     [UBI_COORD4] [nvarchar](15) NULL,
  16.     [UBI_COORD5] [nvarchar](15) NULL,
  17.     [UBI_COORD6] [nvarchar](15) NULL,
  18.     [UBI_COORD7] [nvarchar](15) NULL,
  19.     [ESTADO] [nvarchar](15) NULL,
  20.     [CODIGO_TAMANO] [NUMERIC](18, 0) NULL,
  21.     [SEDE] [nvarchar](10) NULL,
  22.     [OBSERVACION] [nvarchar](350) NULL,
  23.     [FECHA_ENVIO_CLIENTE] [datetime] NULL,
  24.     [FECHA_DEVOLUCION] [datetime] NULL,
  25.     [DIAS_PRESTAMO] [NUMERIC](18, 0) NULL,
  26.  CONSTRAINT [PK__CAJAS__0380EB64164452B1] PRIMARY KEY CLUSTERED
  27. (
  28.     [C_CODIGO] ASC,
  29.     [CLI_CODIGO] ASC,
  30.     [C_NUMERO] ASC
  31. )

y mi SP ES:
Código SQL:
Ver original
  1. CREATE PROCEDURE [dbo].[SP_INSERTCAJA2]
  2.     @C_CODIGO NVARCHAR(15),
  3.     @CLI_CODIGO NVARCHAR(15),
  4.     @C_NUMERO SMALLINT,
  5.     @CAJA_CONTENIDO NVARCHAR(3000),
  6.     @FECHA_EMISION DATETIME,
  7.     @FECHA_CADUCIDAD DATETIME,
  8.     @FECHA_ALTA DATETIME,
  9.     @ALTA_POR NVARCHAR(50),
  10.     @UBI_COORD1 NVARCHAR(15),
  11.     @UBI_COORD2 NVARCHAR(15),
  12.     @UBI_COORD3 NVARCHAR(15),
  13.     @UBI_COORD4 NVARCHAR(15),
  14.     @UBI_COORD5 NVARCHAR(15),
  15.     @UBI_COORD6 NVARCHAR(15),
  16.     @UBI_COORD7 NVARCHAR(15),
  17.     @ESTADO NVARCHAR(15),
  18.     @CODIGO_TAMANO NUMERIC(18,0),
  19.     @SEDE NVARCHAR(10),
  20.     @OBSERVACION NVARCHAR(350)
  21. AS
  22. BEGIN
  23.         SELECT @C_NUMERO = COUNT(*) + 1 FROM CAJAS
  24.         WHERE C_CODIGO = @C_CODIGO
  25.         AND CLI_CODIGO = @CLI_CODIGO;
  26.  
  27.        
  28.     INSERT INTO CAJAS
  29.         (
  30.         C_CODIGO, CLI_CODIGO, C_NUMERO, CAJA_CONTENIDO, FECHA_EMISION, FECHA_CADUCIDAD,
  31.         FECHA_ALTA, ALTA_POR, UBI_COORD1, UBI_COORD2, UBI_COORD3,
  32.         UBI_COORD4, UBI_COORD5, UBI_COORD6, UBI_COORD7, ESTADO, CODIGO_TAMANO,
  33.         SEDE, OBSERVACION
  34.         )
  35.         VALUES
  36.         (
  37.         @C_CODIGO, @CLI_CODIGO, @C_NUMERO, @CAJA_CONTENIDO, @FECHA_EMISION, @FECHA_CADUCIDAD,
  38.         @FECHA_ALTA, @ALTA_POR, @UBI_COORD1, @UBI_COORD2, @UBI_COORD3,
  39.         @UBI_COORD4, @UBI_COORD5, @UBI_COORD6, @UBI_COORD7, @ESTADO, @CODIGO_TAMANO,
  40.         @SEDE, @OBSERVACION
  41.         )
  42. END

lo que hago es generar un secuencial en base un count, asi podre obtener un numero consecutivo [C_NUMERO] en base a los campos [C_CODIGO] y [CLI_CODIGO]

Asi podria obtener algo como lo que necesito:
Código SQL:
Ver original
  1. C_CODIGO, CLI_CODIGO, CNUMERO, CAJA_CONTENIDO ........
  2. XXX, 100, 1, FACTURAS
  3. XXX, 100, 2, FACTURAS
  4. XXX, 100, 3, CONTRATOS
  5. YYY,  101, 1, FACTURAS
  6. YYY,  101, 2, RETENCIONES...
ETC
ETC

Alguien por favor podría decirme por que puede suceder este error?
Le doy vueltas y vueltas y no entiendo por que, debería ya funcionar..


Saludos y gracias

Última edición por gnzsoloyo; 21/10/2014 a las 09:24