help

tema enviado por rober en SQL Server
tema iniciado el 12/04/2008

tengo este procedimiento pa crear una base de datos que es un proyecto de la u pero no veo cual es el error ya que a la hora de ejecutarlo me lanza esta:

Mens 512, Nivel 16, Estado 1, Procedimiento ONMOVIMIENTO, Línea 25

La subconsulta ha devuelto más de un valor, lo que no es correcto cuando va a continuación de =, !=, <, <=, >, >= o cuando se utiliza como expresión.

 

 

CREATE PROCEDURE ONMOVIMIENTO

@CODIGO NVARCHAR (8) ,

@CUENTA NCHAR(18),

@MOVIMIENTO NCHAR (2),

@MONTO MONEY,

@FECHA SMALLDATETIME,

@EMPLEADO NCHAR (4),

@VALOR NCHAR (1)

AS

DECLARE @PRUEBA MONEY

IF (@VALOR = 'I')

BEGIN

IF @MOVIMIENTO = 'DE'

BEGIN

INSERT INTO MOVIMIENTOS (MOV_CODMOV,MOV_CUENTA,MOV_TIPOMOVIMIENTO,MOV_MONTO,MOV_FECHAYHORA,MOV_CODIEMPLEADO)

VALUES (@CODIGO,@CUENTA,@MOVIMIENTO,@MONTO,@FECHA,@EMPLEADO)

UPDATE CUENTA SET CUE_SALDO =(CUE_SALDO - @MONTO)

WHERE CUE_CUENTARJ = @CUENTA

END

ELSE

IF (@MOVIMIENTO = 'CR' )

BEGIN

SET @PRUEBA= (SELECT CUE_TARIFAFIJA FROM CUENTA) - (SELECT CUE_SALDO FROM CUENTA)

IF (@MONTO = @PRUEBA)

BEGIN

INSERT INTO MOVIMIENTOS (MOV_CODMOV,MOV_CUENTA,MOV_TIPOMOVIMIENTO,MOV_MONTO,MOV_FECHAYHORA, MOV_CODIEMPLEADO)

VALUES(@CODIGO,@CUENTA,@MOVIMIENTO,@MONTO,@FECHA,@EMPLEADO)

UPDATE CUENTA SET CUE_SALDO=(CUE_SALDO + @MONTO)

WHERE CUE_CUENTARJ = @CUENTA

END

END

END

ELSE

IF (@VALOR = 'B')

BEGIN

DELETE MOVIMIENTOS WHERE MOV_CODMOV = @CODIGO

END