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

MySQL संग्रहीत प्रक्रिया में रोलबैक का पता कैसे लगाएं?

आप एक आउटपुट परम जोड़ सकते हैं और फिर इसे अपने निकास हैंडलर में इच्छित मान पर सेट कर सकते हैं।

यहां आपकी खरीद का उपयोग करते हुए एक उदाहरण दिया गया है:

delimiter $$
  create procedure multi_inserts(
  IN var1 int(11),
       .
       .
       .
  IN string1 text,
  OUT p_return_code tinyint unsigned
  )
  BEGIN

  DECLARE exit handler for sqlexception
  BEGIN
    -- ERROR
    set p_return_code = 1;
    rollback;
  END;

  DECLARE exit handler for sqlwarning
  BEGIN
    -- WARNING
    set p_return_code = 2;
    rollback;
  END;

  START TRANSACTION;
  insert into table1(a,b,c,d) values(var1,var2,var3,var4);
  insert into table2(e,f,g) values(var5,var6,string1);
  COMMIT;

  -- SUCCESS
  set p_return_code = 0;

  END $$
  delimiter ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका के रूप में बनाएं के साथ अन्य तालिकाओं से डेटा का चयन करके नई तालिका बनाएं

  2. Mysql डिलीट सेट पर कई विदेशी कुंजी के साथ टेबल बनाएं नल

  3. रेल सर्वर पर रूबी शुरू नहीं होगी:dyld:आलसी प्रतीक बाध्यकारी विफल:प्रतीक नहीं मिला:_mysql_get_client_info

  4. एक GoDaddy होस्टेड साइट पर PHP.ini को अपडेट करना

  5. Amazon EC2, mysql निरस्त करना प्रारंभ क्योंकि InnoDB:mmap (x बाइट्स) विफल रहा; त्रुटि 12