Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/02/2007, 19:23
Avatar de dianatorres
dianatorres
 
Fecha de Ingreso: diciembre-2006
Mensajes: 26
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: ayudenme porfas guardar registros

CREATE PROCEDURE dbo.ABACTESTATUSMERCSINMOVTOPERIODO
@OPCION INT,
@PERIODO INT,
@USUARIO INT

AS

DECLARE @EST INT
DECLARE @IdHistEst int
DECLARE @IDLGS int
DECLARE @ACT INT
--DECLARE cursinmovto CURSOR FOR

--OPCION 1.. TRIMESTRE, 2.. SEMESTRE, 3...ANUAL


IF @OPCION=1
BEGIN

SELECT @EST=9
END
IF @OPCION=2
BEGIN

SELECT @EST=8
END
IF @OPCION=3
BEGIN

SELECT @EST=7
END




BEGIN TRAN SINMOVTO


SELECT @IdHistEst=MAX (IdHistEst) FROM ABSECHISTORIAESTATUS
SELECT @ACT=0



--Identity(int, 1 ,1)






SELECT @IdHistEst AS IdRow , IDLGS as IDLGS , @EST as EST, 'ACT. 1.4.1.16 ' as Descripcion, GETDATE() as Fecha ,@USUARIO as Usuario
INTO #tmpSec
FROM SECUENCIAS
WHERE
ANIOHASTA=@PERIODO
AND ESTATUS<>@EST

INSERT INTO
ABSECHISTORIAESTATUS (IdHistEst, IDLGS, ESTATUSACT, OBSERVACIONES, FECHA, IDUSUARIO)
SELECT IdRow, IDLGS , EST, Descripcion, Fecha , Usuario
FROM #tmpSec
WHERE
ANIOHASTA=@PERIODO
AND ESTATUS<>@EST


IF @@ERROR <> 0
BEGIN
SELECT -1
COMMIT TRAN SINMOVTO
RETURN
END


SELECT @ACT=COUNT(*)
FROM SECUENCIAS
WHERE
ANIOHASTA=@PERIODO
AND ESTATUS<>@EST



UPDATE SECUENCIAS
SET ESTATUS=@EST
FROM SECUENCIAS
WHERE
IDLGS IN (SELECT IDLGS
FROM SECUENCIAS
WHERE
ANIOHASTA=@PERIODO)
AND ESTATUS<>@EST





IF @@ERROR <> 0
BEGIN
SELECT -1
ROLLBACK TRAN SINMOVTO
RETURN
END



DROP TABLE #tmpSec
SELECT @ACT
COMMIT TRAN SINMOVTO
RETURN


mira la verdad hice esto no se si este bien porque fijate que intente con el
identity (int ,@IdHistEst ,1) no me funciono me marcaba un error

me decia que habia una syntaxis incorrecta.

bueno hice el stored con el commit tran pero tambien me marca estos errores

al momento de correrlo en el query analizer


(0 filas afectadas)

Servidor: mensaje 207, nivel 16, estado 3, procedimiento ABACTESTATUSMERCSINMOVTOPERIODO, línea 70
Invalid column name 'ANIOHASTA'.
Servidor: mensaje 207, nivel 16, estado 1, procedimiento ABACTESTATUSMERCSINMOVTOPERIODO, línea 70
Invalid column name 'ESTATUS'.
Servidor: mensaje 266, nivel 16, estado 1, procedimiento ABACTESTATUSMERCSINMOVTOPERIODO, línea 124
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 39, current count = 40.

ahi si que no se si lo plantee mal todo .....
ayudame ya lo ultimo plis