SQL Server - SP en SQL Server

 
Vista:

SP en SQL Server

Publicado por Fredy (1 intervención) el 15/11/2009 19:28:26
Estoy intentando realizar un sp para insercion de datos en un tabla pero me da un error que dice lo siguiente:
"Mens 8152, Nivel 16, Estado 14, Procedimiento sp_pedidos2, Línea 4
Los datos de cadena o binarios se truncarían."

El codigo de la tabla es el siguiente:

CREATE TABLE [dbo].[Pedidos](
[Num_pedido] [int] NOT NULL,
[Fecha_pedido] [char](30) NOT NULL,
[Clie] [int] NOT NULL,
[Rep] [int] NULL,
[Fab] [char](3) NOT NULL,
[Producto] [char](5) NOT NULL,
[Cant] [int] NOT NULL,
[Importe] [money] NOT NULL,
CONSTRAINT [Pk_Pedidos] PRIMARY KEY CLUSTERED
(
[Num_pedido] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

El codigo del procedimiento es:
create procedure sp_pedidos2(@num_pedido int, @fechapedido char(30),@cod_cliente int, @cod_vendedor int , @fabrica char(3), @producto char(5),@cantidad int, @importe money)
as
insert into pedidos(Num_pedido,Fecha_pedido,Clie,Rep,Fab,Producto,Cant,Importe)
values(@num_pedido,'@fechapedido',@cod_cliente,@cod_vendedor,'@fabrica','@producto',@cantidad,@importe)

Y al momento de ejecutar el sp de la siguiente manera:
sp_pedidos2 113858,'20091115',2111,110,'IMM','775C',4,234

Me da el siguiente error: "Mens 8152, Nivel 16, Estado 14, Procedimiento sp_pedidos2, Línea 4
Los datos de cadena o binarios se truncarían.".

Por favor ayudenme... Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:SP en SQL Server

Publicado por roger (173 intervenciones) el 17/11/2009 01:40:39
no es necesario poner entre comilla simple los parametros char en el procedimiento.

create procedure sp_pedidos2(@num_pedido int, @fechapedido char(30),@cod_cliente int, @cod_vendedor int , @fabrica char(3), @producto char(5),@cantidad int, @importe money)
as
insert into pedidos(Num_pedido,Fecha_pedido,Clie,Rep,Fab,Producto,Cant,Importe)
values(@num_pedido,@fechapedido,@cod_cliente,@cod_vendedor,@fabrica,@producto,@cantidad,@importe)

Como ves tenias comila simple encerrando fabrica, producto y fechapedido

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:SP en SQL Server

Publicado por Isaias (4558 intervenciones) el 17/11/2009 17:50:53
Ese mensaje, es un aviso de que estas sobrepasando el largo definido para un campo, ejemplo, un campo CHAR(3), quisiera insertar "Panama" (6 caracteres).

Ademas, estas definiendo Fecha_pedido] [char](30) NOT NULL,¿no deberia ser un DATETIME?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar