Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/02/2015, 19:33
Angel_Nemo
 
Fecha de Ingreso: abril-2008
Mensajes: 112
Antigüedad: 16 años
Puntos: 0
ERROR EN SP - Conversion failed when converting the nvarchar value

Estimada Gente del Foro,

Con una inquietud generada al ejecutar un Store Procedure sobre una Tabla:
Solo tomaré 3 campos de la tabla para no hacer muy larga la explicacion:

Código SQL:
Ver original
  1. CREATE TABLE [dbo].[INGRESOLOTEMP_100](
  2.     [CLIENTE_CODIGO] [SMALLINT] NOT NULL,
  3.     [CAJA_CODIGO] [nvarchar](20) NULL,
  4.     [CAJA_NUMERO] [SMALLINT] NOT NULL,
  5. )
El SP tiene que ingresar datos en esta tabla, por lo tanto tengo lo siguiente:

Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[SP_LOT_INSERTLOTEMP]
  2.     @IDENT_TABLA NVARCHAR(10),
  3.     @CLIENTE_CODIGO SMALLINT,
  4.     @CAJA_CODIGO NVARCHAR(15),
  5.     @CAJA_NUMERO SMALLINT
  6.  
  7. AS
  8.     DECLARE @NOMBRE_TABLA NVARCHAR(40)
  9.         SELECT @NOMBRE_TABLA = 'INGRESOLOTEMP_' + @IDENT_TABLA
  10.  
  11.     DECLARE @SQL NVARCHAR(MAX)
  12.        SET @SQL = 'INSERT into dbo.' + quotename(@NOMBRE_TABLA) +           '(CLIENTE_CODIGO, CAJA_CODIGO, CAJA_NUMERO) VALUES ('
  13.     + @CLIENTE_CODIGO + CONVERT(VARCHAR, @CAJA_CODIGO) + @CAJA_NUMERO + ''')'
  14.     EXEC sp_executesql @SQL

Me produce un error al ejecutarlo:
Código SQL:
Ver original
  1. Conversion failed WHEN converting the nvarchar VALUE 'INSERT into dbo.[INGRESOLOTEMP_100](CLIENTE_CODIGO, CAJA_CODIGO, CAJA_NUMERO) VALUES (' TO DATA TYPE SMALLINT.

Por que no lo ejecuto de manera mas sencilla o convencional?
pues por que esa tabla se crea en un SP previamente ejecutado (ahi ejecuto un SP y me crea la tabla sin problemas). El nombre de la tabla depende del usuario logueado en el sistema, es por eso que el nombre de la tabla se forma asi:
SELECT @NOMBRE_TABLA = 'INGRESOLOTEMP_' + @IDENT_TABLA

Porque el @IDENT_TABLA es dado por el usuario automaticamente al ingresar a esa parte del sistema.

Es la 1ra vez que ejecuto un SP de esta manera y no logro determinar cual es el problema con las conversiones del formato, si alguien por favor podría darme una sugerencia le estaria muy agradecido.

Saludos.

Última edición por gnzsoloyo; 20/02/2015 a las 10:51