none
Problema al ejecutar Stored Procedure RRS feed

  • Pregunta

  • Hola tengo este stored Procedure

    CREATE PROCEDURE SP_insertarTransaccion

    @transactionid nchar(10),

    @account_no nchar(10), 

    @purchase_id nchar(10),

    @transaction_type nchar(10),

    @amount_transaction money,

    @date datetime

    AS

    INSERT INTO Transactions(transactionid,account_no,purchase_id,transaction_type,amount_transaction,date)

    VALUES(NEWID(),@account_no,@purchase_id,@transaction_type,@amount_transaction,GETDATE());

    -- Actualizacion del Balance de la cuenta origen desde se descuenta el monto

    UPDATE customers

    SET

    customer_currectbalance = customer_currectbalance - @amount_transaction

    WHERE(customer_ncount = @account_no);

     

    --Actualizacion del Balance A la cuenta Destino donde se coloca el monto

    UPDATE customers

    SET

    customer_currectbalance = customer_currectbalance + @amount_transaction

    WHERE(customer_ncount = @purchase_id);

    GO

     

    y al querer probarlo con esta sentencia me sale un error 

    Msg 137, Level 15, State 2, Line 1

    Must declare the scalar variable "@date".

     

    EXEC SP_insertarTransaccion @transactionid,'2468','1234','Transfer',3000,@date;

     

    cual seria mi error?

     

     

     

     

     

     


    Carlos Jose Gonzalez Arenas
    miércoles, 28 de diciembre de 2011 20:34

Respuestas

  • Prueba de esta manera , fijate lo que esta en negrita

    CREATE PROCEDURE SP_insertarTransaccion
     
     @transactionid nchar(10),
     
     @account_no nchar(10),
     
     @purchase_id nchar(10),
     
     @transaction_type nchar(10),
     
     @amount_transaction money,
     
     @date datetime
     
    AS
     
      INSERT INTO Transactions(transactionid,account_no,purchase_id,transaction_type,amount_transaction,date)
     
      VALUES(NEWID(),@account_no,@purchase_id,@transaction_type,@amount_transaction,@date);
     
      -- Actualizacion del Balance de la cuenta origen desde se descuenta el monto
     
      UPDATE customers
     
      SET customer_currectbalance = customer_currectbalance - @amount_transaction
     
      WHERE(customer_ncount = @account_no);
     
      --Actualizacion del Balance A la cuenta Destino donde se coloca el monto
     
      UPDATE customers
     
      SET customer_currectbalance = customer_currectbalance + @amount_transaction
     
      WHERE(customer_ncount = @purchase_id);
     
    GO

    EXEC SP_insertarTransaccion @transactionid,'2468','1234','Transfer',3000,getdate();

    Saludos


    Capacitaciones Corporativas
    Si pequeña es la Patria, uno grande la sueña
    Rubén Darío
    Principe de las letras Castellanas
    Poeta Nicaragüense
    Ay Nicaragua, Nicaraguita Video Clip

    • Marcado como respuesta makaco10 domingo, 4 de marzo de 2012 11:18
    domingo, 26 de febrero de 2012 17:26