sql >> Databasteknik >  >> RDS >> Oracle

Hur man använder räddningspunkter i Oracle-proceduren

BEGIN

  Savepoint do_update_1;

  Update 1;

  insert 1;

  Update 2;

  Update 3; --Suppose exception occurs

EXCEPTION
  WHEN some_exception THEN Rollback To do_update_1;
END;


======redigera ==========

Fungerande exempel:http://sqlfiddle.com/#! 4/b94a93/1

create table tttt(
  id int,
  val int
)
/

declare 
  x int := 0;
begin
  insert into tttt values( 1,1);
  insert into tttt values( 2,2);
  Savepoint do_update_1;

  insert into tttt values( 3,3);
  update tttt set val = 0 where id = 2;
  update tttt set val = 10 / val where id = 2;

exception
  when zero_divide then rollback to do_update_1;
end;
/


  1. STRING_SPLIT() i SQL Server 2016:Uppföljning #2

  2. PHP &MySQL:Konvertera lagrad TIMESTAMP till användarens lokala tidszon

  3. Varför skapar inte postgres databasen?

  4. Vill du hämta data från databasen baserat på val av rullgardinslista med php