Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wykryć wycofanie w procedurze składowanej MySQL?

Możesz dodać parametr wyjściowy, a następnie ustawić go na wartość, którą chcesz w swoich procedurach obsługi wyjścia.

Oto przykład użycia twojego proc:

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. zmień status harmonogramu zdarzeń w mysql

  2. MySQL LEFT JOIN duplikuje wyniki

  3. Hibernacja łącząca dwie tabele i generująca odpowiedź json w wiosennym spokojnym serwisie internetowym?

  4. Jak działają indeksy MySQL?

  5. AKTUALIZUJ za pomocą SUM() w MySQL