目前在學習SQL的rollback的用法
在網路上找到了在新增.更新.刪除時
只要有一筆更新失敗或是要更新.刪除的數量不正確就rollback的方法
http://aixo.pixnet.net/blog/post/38747309-%5Bt-sql%5D-transaction-%E7%94%A8%E6%B3%95
跟
http://blog.xuite.net/danny72.chen/blog/22966476-+%E8%B3%87%E6%96%99%E5%BA%AB+SQL+Server+%E9%80%B2%E9%9A%8E%E6%A6%82%E5%BF%B5+
我依照範例去改
在MSSQL(SQL SERVER2000)的資料庫測試是成功的
但是ORACLE資料庫宣告跟指令的方式不同
網路上只有找到變數宣告給值DECLARE chk NUMBER(1); --宣告chk := 0 --給值
但是IF @@Error <> 0這個判斷在ORACLE中有什麼方法可以代替@@ERROR
另外更改.刪除的地方則是使用IF @@Error <> 0跟@@ROWCOUNT <> 要更新或刪除的筆數
當作判斷@@ROWCOUNT在ORACLE又有什麼能夠代替的
DECLARE
   v_num1     INTEGER := 10;
   v_num2     INTEGER := 0;
   v_result   NUMBER;
BEGIN
   v_result := v_num1 / v_num2;
   DBMS_OUTPUT.PUT_LINE ('v_result:' || v_result);
EXCEPTION
   WHEN ZERO_DIVIDE
   THEN
      DBMS_OUTPUT.PUT_LINE ('Divided by zero');
END;