Forums Últimos mensajes - Powered by IBM
 

Necesito ayuda en un Store Procedure

08/11/2005 - 21:18 por Angel Lopez | Informe spam
Al programar el siguiente Store Procedure me envia un error, donde me dice
que declare la variable lcFile, lo que intento hacer es pasarle varios
valores desde Visual Basic, como nombre del archivo donde ejecutará el
UPDATE, pero es ahi donde me indica que declare la variable lcFile, espero me
puedan ayudar

Create Procedure PasaVtas
@idPromoLc varchar(20),
@lcFile varchar(19),
@lcFec1 varchar(19),
@lcFec2 varchar(19)
As
Update Promo_Det
Set Ventas = (Select Sum(Cantidad) From @lcFile
Where Cve_Suc = Promo_Det.Cve_Suc
And rtrim(Prod) COLLATE Modern_Spanish_CI_AS =
rtrim(Promo_Det.Cve_Prod)
And (Dia >= CONVERT(DATETIME, @lcFec1, 102)
And Dia <= CONVERT(DATETIME, @lcFec2, 102)))
Where idPromo = @idPromoLc

GO
 

Leer las respuestas

#1 Maxi [MVP]
08/11/2005 - 21:25 | Informe spam
Hola, para hacerlo asi debes usar SQL-Dinamico (Sp_Executesql) pero es un
tecnica que tiene serios problemas con la seguridad.


La pregunta es: porque hacer un store generico asi?? o bien haces uno para
cada tabla o no hagas SP, porque le quitas todas las ventajas al mismo


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
Miembro de GUESS



"Angel Lopez" escribió en el mensaje
news:
Al programar el siguiente Store Procedure me envia un error, donde me dice
que declare la variable lcFile, lo que intento hacer es pasarle varios
valores desde Visual Basic, como nombre del archivo donde ejecutará el
UPDATE, pero es ahi donde me indica que declare la variable lcFile, espero
me
puedan ayudar

Create Procedure PasaVtas
@idPromoLc varchar(20),
@lcFile varchar(19),
@lcFec1 varchar(19),
@lcFec2 varchar(19)
As
Update Promo_Det
Set Ventas = (Select Sum(Cantidad) From @lcFile
Where Cve_Suc = Promo_Det.Cve_Suc
And rtrim(Prod) COLLATE Modern_Spanish_CI_AS > rtrim(Promo_Det.Cve_Prod)
And (Dia >= CONVERT(DATETIME, @lcFec1, 102)
And Dia <= CONVERT(DATETIME, @lcFec2, 102)))
Where idPromo = @idPromoLc

GO

Preguntas similares