Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

mysql लेनदेन - किसी भी अपवाद पर वापस रोल करें

आप 13.6.7.2 का उपयोग कर सकते हैं। DECLARE ... हैंडलर सिंटैक्स निम्नलिखित तरीके से:

DELIMITER $$

CREATE PROCEDURE `sp_fail`()
BEGIN
    DECLARE `_rollback` BOOL DEFAULT 0;
    DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET `_rollback` = 1;
    START TRANSACTION;
    INSERT INTO `tablea` (`date`) VALUES (NOW());
    INSERT INTO `tableb` (`date`) VALUES (NOW());
    INSERT INTO `tablec` (`date`) VALUES (NOW()); -- FAIL
    IF `_rollback` THEN
        ROLLBACK;
    ELSE
        COMMIT;
    END IF;
END$$

DELIMITER ;

एक संपूर्ण उदाहरण के लिए, निम्न SQL Fiddle देखें। ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PERIOD_ADD () उदाहरण – MySQL

  2. MySQL:FROM क्लॉज लिमिटेशन में सबक्वेरी के साथ देखें

  3. cPanel में एक MySQL डेटाबेस यूजर को कैसे डिलीट करें

  4. MySQL में लॉक किए बिना चयन करने का कोई तरीका?

  5. कॉन्फ़िगरेशन सिस्टम प्रारंभ करने में विफल