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.

Preguntas similare

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.

Respuesta Responder a este mensaje
#2 Anonimo
25/04/2004 - 05:32 | Informe spam
Gracias Javier, eso era lo que me tenia varado...

Atentamente,

Juan Carlos Diaz Morillo

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.





.

Respuesta Responder a este mensaje
#3 Jose Manuel Davila
26/04/2004 - 17:52 | Informe spam
prueba sin los parentesis que tenia en whee y el group by

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
Respuesta Responder a este mensaje
#4 Jose Manuel Davila
26/04/2004 - 17:53 | Informe spam
cierto me equievoque

mi intencion fue ayudar


Sistemas (SIP)
Vianney
Aguascalientes Ags.
9710330, 9711250, 9181010
Bit_Grinder under nick
____________________________________________________________________________
_______________
Antes de Convertir un Problema hay que ver Si lo Hay, Si lo Hay Solucionarlo
sino no le quites el tiempo a los demas

Jose Manuel Davila
escribió en el mensaje
news:3e2101c42a75$f918d170$
Gracias Javier, eso era lo que me tenia varado...

Atentamente,

Juan Carlos Diaz Morillo

>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.
>>
>
>
>.
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida