Wednesday, December 26, 2012

How to Use DECLARE variable inside Procedure

DELIMITER $$

DROP PROCEDURE IF EXISTS `DataBaseName`.`ProcedureName`$$

CREATE   PROCEDURE `ProcedureName`(IN _userid INT,OUT _retVal INT)
BEGIN
DECLARE statusflag INT;
    DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
    DECLARE EXIT HANDLER FOR SQLWARNING ROLLBACK;
   
    START TRANSACTION;
    SET _retVal =0 ;
    select status into statusflag from TableName WHERE user_id=_userid;
    UPDATE TableName SET isblocked=1 WHERE user_id=_userid;
    COMMIT;
        SET _retVal =1 ;
    END$$

DELIMITER ;



==>now it will return dataset with column name "statusflag" with INT value.

DELIMITER $$

DROP PROCEDURE IF EXISTS `DataBaseName`.`ProcedureName`$$

CREATE  PROCEDURE `ProcedureName`(IN _code VARCHAR(100),OUT _retVal INT)
BEGIN
    DECLARE _couponcode VARCHAR(100);
    DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
    DECLARE EXIT HANDLER FOR SQLWARNING ROLLBACK;
  
    START TRANSACTION;
    SET _retVal =0 ;
    SELECT MAX(coupon_code) INTO _couponcode FROM TableName WHERE coupon_code=_code ;
        IF _couponcode IS NULL THEN
    SET _retVal =0;
    ELSE
    SET _retVal =1;
    END IF;
    COMMIT;
    END$$

DELIMITER ;

No comments:

Post a Comment