Parametros de SP en una consulta interna

24/04/2004 - 19:03 por Juanqyf | Informe spam
Hola grupo

estoy creando un procedimiento almacenado con parametros
pero al utilizar estos parametros en una consulta no me
funciona me dice que debo declarar la variable que
corresponde al parametro les muestro el codigo.

CREATE PROCEDURE prKARDEX
@FechaInicio datetime,
@FechaFin datetime
As

if exists (Select * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME ='CantidadSalida')
drop table CantidadSalida
CREATE TABLE [CantidadSalida] (
[IdProducto] [int] NULL ,
[CantidadSalida] [float] NULL
) ON [PRIMARY]
GO

insert into CantidadSalida
(IdProducto, CantidadSalida)
SELECT [Detalles de Pedido].IdProducto,
Sum([Detalles de Pedido].Cantidad) AS
CantidadSalida
FROM Pedidos INNER JOIN [Detalles de Pedido]
ON Pedidos.IdPedido = [Detalles de Pedido].IdPedido
WHERE (((Pedidos.FechaPedido) Between @FechaInicio And
@FechaFin))
GROUP BY [Detalles de Pedido].IdProducto )


Me dice el error que debo declarar la variable FechaInicio
y no comprendo porque???

Atentamente,

Juan Carlos Diaz Morillo.
 

Leer las respuestas

#1 Javier Loria
25/04/2004 - 02:22 | Informe spam
Hola Juan:
Si te fijas en tu codigo hay un GO antes del Insert lo que sifnifica que
se cotar la consulta y se envia en bloques. Todo el codigo antes del Go,
queda como procedimiento, y despues del Go queda como una consulta y donde
la variable no existe.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
"Juanqyf" wrote in message
news:3ac801c42a1e$22221160$
Hola grupo

estoy creando un procedimiento almacenado con parametros
pero al utilizar estos parametros en una consulta no me
funciona me dice que debo declarar la variable que
corresponde al parametro les muestro el codigo.

CREATE PROCEDURE prKARDEX
@FechaInicio datetime,
@FechaFin datetime
As

if exists (Select * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME ='CantidadSalida')
drop table CantidadSalida
CREATE TABLE [CantidadSalida] (
[IdProducto] [int] NULL ,
[CantidadSalida] [float] NULL
) ON [PRIMARY]
GO

insert into CantidadSalida
(IdProducto, CantidadSalida)
SELECT [Detalles de Pedido].IdProducto,
Sum([Detalles de Pedido].Cantidad) AS
CantidadSalida
FROM Pedidos INNER JOIN [Detalles de Pedido]
ON Pedidos.IdPedido = [Detalles de Pedido].IdPedido
WHERE (((Pedidos.FechaPedido) Between @FechaInicio And
@FechaFin))
GROUP BY [Detalles de Pedido].IdProducto )


Me dice el error que debo declarar la variable FechaInicio
y no comprendo porque???

Atentamente,

Juan Carlos Diaz Morillo.

Preguntas similares