procedimientos almacenados
Publicado por LUNA (1 intervención) el 05/06/2007 03:27:24
Hola a todos, tengo este procedimiento y no lo entiendo muy bien, al lado del codigo escribo donde estas mis dudas, asi:-------------->
CREATE PROCEDURE sp_InsertarOrdenSitio
(
@IDSITIOP INT,
@MESORDENSITIO INT,
@ANOORDENSITIO INT,
@IVA FLOAT,
)
AS
SET NOCOUNT ON -------------> NO ENTIENDO ESTE COMANDO
--SE ACTUALIZA LA TABLA ORDENSITIO, CAMPO ORDENSITIO=0, PERO ESE VALOR YA LO TIENE LOS CAMPOS, PARA QUE ENTONCES?
UPDATE dbo.ORDENSITIO SET NUEVAORDENSITIO = 0
--SE DECLARAN LAS VARIABLES
DECLARE
@IDSITIO INT,
@IDCAMPANA INT,
@IDMONEDA INT,
@MESORDENSITIOA INT,
@ANOORDENSITIOA INT,
@FECHAINICIOORDENSITIO DATETIME,
DECLARE CURSORORDEN CURSOR FOR --------> PARA QUE EL CURSOR
SELECT IDSITIO, IDCAMPANA, IDMONEDA, MESORDENSITIOTMP, ANOORDENSITIOTMP,
FECHAINICIOORDENSITIOTMP, FECHAFINORDENSITIOTMP, CPMORDENSITIOTMP,
FROM ORDENSITIOTMP
WHERE MESORDENSITIOTMP=@MESORDENSITIO AND ANOORDENSITIOTMP=@ANOORDENSITIO
OPEN CURSORORDEN
FETCH NEXT FROM CURSORORDEN INTO -------->PARA QUE FETCH NEXT
@IDSITIO,@IDCAMPANA, @IDMONEDA, @MESORDENSITIOA, @ANOORDENSITIOA,
@FECHAINICIOORDENSITIO
--Se recorre el cursor
WHILE (@@fetch_status <> -1)-----------> QUE ES @@fetch
BEGIN
INSERT INTO ORDENSITIO ( IDSITIO, IDCAMPANA, IDMONEDA, MESORDENSITIO, ANOORDENSITIO,FECHAINICIOORDENSITIO )
VALUES (@IDSITIO,@IDCAMPANA, @IDMONEDA, @MESORDENSITIO, @ANOORDENSITIO,@FECHAINICIOORDENSITIO)
FETCH NEXT FROM CURSORORDEN INTO @IDSITIO,@IDCAMPANA, @IDMONEDA, @MESORDENSITIOA, @ANOORDENSITIOA,@FECHAINICIOORDENSITIO
END
CLOSE CURSORORDEN
DEALLOCATE CURSORORDEN---------> QUE SIGNIFICA DEALLOCATE
SET NOCOUNT OFF
RETURN
GO
GRACIAS
CREATE PROCEDURE sp_InsertarOrdenSitio
(
@IDSITIOP INT,
@MESORDENSITIO INT,
@ANOORDENSITIO INT,
@IVA FLOAT,
)
AS
SET NOCOUNT ON -------------> NO ENTIENDO ESTE COMANDO
--SE ACTUALIZA LA TABLA ORDENSITIO, CAMPO ORDENSITIO=0, PERO ESE VALOR YA LO TIENE LOS CAMPOS, PARA QUE ENTONCES?
UPDATE dbo.ORDENSITIO SET NUEVAORDENSITIO = 0
--SE DECLARAN LAS VARIABLES
DECLARE
@IDSITIO INT,
@IDCAMPANA INT,
@IDMONEDA INT,
@MESORDENSITIOA INT,
@ANOORDENSITIOA INT,
@FECHAINICIOORDENSITIO DATETIME,
DECLARE CURSORORDEN CURSOR FOR --------> PARA QUE EL CURSOR
SELECT IDSITIO, IDCAMPANA, IDMONEDA, MESORDENSITIOTMP, ANOORDENSITIOTMP,
FECHAINICIOORDENSITIOTMP, FECHAFINORDENSITIOTMP, CPMORDENSITIOTMP,
FROM ORDENSITIOTMP
WHERE MESORDENSITIOTMP=@MESORDENSITIO AND ANOORDENSITIOTMP=@ANOORDENSITIO
OPEN CURSORORDEN
FETCH NEXT FROM CURSORORDEN INTO -------->PARA QUE FETCH NEXT
@IDSITIO,@IDCAMPANA, @IDMONEDA, @MESORDENSITIOA, @ANOORDENSITIOA,
@FECHAINICIOORDENSITIO
--Se recorre el cursor
WHILE (@@fetch_status <> -1)-----------> QUE ES @@fetch
BEGIN
INSERT INTO ORDENSITIO ( IDSITIO, IDCAMPANA, IDMONEDA, MESORDENSITIO, ANOORDENSITIO,FECHAINICIOORDENSITIO )
VALUES (@IDSITIO,@IDCAMPANA, @IDMONEDA, @MESORDENSITIO, @ANOORDENSITIO,@FECHAINICIOORDENSITIO)
FETCH NEXT FROM CURSORORDEN INTO @IDSITIO,@IDCAMPANA, @IDMONEDA, @MESORDENSITIOA, @ANOORDENSITIOA,@FECHAINICIOORDENSITIO
END
CLOSE CURSORORDEN
DEALLOCATE CURSORORDEN---------> QUE SIGNIFICA DEALLOCATE
SET NOCOUNT OFF
RETURN
GO
GRACIAS
Valora esta pregunta


0