1. 程式人生 > >[PL/SQL] 請教大家一個問題,儲存過程中需要幾個commit?

[PL/SQL] 請教大家一個問題,儲存過程中需要幾個commit?

如果中間有語句發生錯誤就不一樣了,寫了一個測試的例子,看看對你有幫助沒有
drop table aatest;
create table aatest
(nid number,nname varchar2(16))
insert into aatest(nid,nname)values(1,'00');
commit;
create or replace procedure aatesta
as
begin
   update aatest set nname='step1' where nid=1;
   commit;
   update aatest set nname='step2' where nid=1;
   commit;
   update aatest set nname='step3_12345678910101010101' where nid=1;
   commit;
   exception when others then
     rollback;
end;
create or replace procedure aatestb
as
begin
   update aatest set nname='step1' where nid=1;
   update aatest set nname='step2' where nid=1;
   update aatest set nname='step3_12345678910101010101' where nid=1;
   commit;
   exception when others then
     rollback;
end;

相關推薦

[PL/SQL] 請教大家一個問題儲存過程需要commit

如果中間有語句發生錯誤就不一樣了,寫了一個測試的例子,看看對你有幫助沒有 drop table aatest; create table aatest (nid number,nname varchar2(16)) insert into aatest(nid,nname)values(1,'00

PL/SQL: Statement ignored 異常 關於儲存過程的呼叫

C:\Java\jdk8\bin\java -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\Installed\IntelliJ IDEA 2017.3.4\lib\idea_rt.jar=3706:D:\Installed\Intel

Oracle PL/SQL 執行包裡的儲存過程 遊標輸出引數

oracle PL/SQL 如何執行包裡的儲存過程,儲存過程帶遊標輸出引數 [問題點數:40分] 收藏帖子 回覆 mjlwq 結帖率 87.5% create or replace package pkg_

pl/sql developer中用execute呼叫儲存過程彈出‘無效的sql語句’解決方法

--------建立儲存過程------- create or replace procedure GetUserAccout as tatle number(10); begin

pl/sql 建立並執行oralce儲存過程,並返回結果集

因為以前一直用sql server多,現在一下子用oracle ,工具什麼都不熟,侷限於sql server的思想  網上搜,和問朋友,跟我講了一大堆,什麼loop 啊,decalre啊,package啊,什麼命令視窗啊,什麼 sql plus啊,什麼不支援pl/sql啊.

開發PL/SQl的子程式和包 儲存過程和函式

簡化指令碼 標準指令碼 工作環境 SQLPLUS Command Window SQLPLUS Test Window 語法要求 無 declare begain exception end 定義變數 var 名 資料型別 名 資料型別 使用變數 :名 名 賦值語句 ex

SQL Server 儲存過程處理多查詢條件的種常見寫法分析我們該用那種寫法

最近發現還有不少做開發的小夥伴,在寫儲存過程的時候,在參考已有的不同的寫法時,往往很迷茫, 不知道各種寫法孰優孰劣,該選用那種寫法,以及各種寫法優缺點,本文以一個簡單的查詢儲存過程為例,簡單說一下各種寫法的區別,以及該用那種寫法 專業DBA以及熟悉資料庫的同學請無視。

PL/SQL進行debug 包以及儲存過程

這兩天在學習PL/SQL,雖然和MySQL大部分sql語句相似,並且儲存過程等相關寫法也很相似。但是畢竟是新接觸的,難免會遇到各種初學者都會遇到的問題。本文主要講解當執行sql指令碼提示錯誤時,該如何去查錯誤以及debug技巧。提高開發效率。 包的寫法以及使用

SQL Server的巢狀儲存過程使用同名的臨時表怪像淺析

     SQL Server的巢狀儲存過程,外層儲存過程和內層儲存過程(被巢狀呼叫的儲存過程)中可以存在相同名稱的本地臨時表嗎?如果可以的話,那麼有沒有什麼問題或限制呢? 在巢狀儲存過程中,呼叫的是外層儲存過程的臨時表還是自己定義的臨時表呢? 是否類似高階語言的變數一樣,本地臨

oracle 在儲存過程寫兩遊標巢狀迴圈

CREATE OR REPLACE PROCEDURE "PROC_CHZBANKMOTNREC" AS vid NUMBER(19);--id vzdrpriaccount VARCHAR2(1

已有一個由26字母組成的字串(可出現重複)再插入一個字母能組成多少種字串

小明有26種遊戲海報,用小寫字母a-z表示,小明會把遊戲海報裝訂成冊(可能有重複的海報),冊子可以用一個字串來表示,每個字元就表示對應的海報,例如abcdea,小明現在想做一些“特別版”,然後賣掉,特別版就是會從所有海報(26種)中隨機選一張,加入到冊子的任意一

SQLServer2PostgreSQL遷移過程問題

post content enter 文件 中一 postgres 能夠 lac ftw 1、PostgreSQL 跨平臺遷移工具Migration Toolkit的使用指南:http://www.enterprisedb.com/docs/en/8.4/mtkguide/

[JavaScript]記錄完成輪播過程

計算 arm class 問題: 動作 hid 需要 asc scrip 記錄幾個坑 之前的輪播: 完整代碼:GitHub 效果預覽:GitHub 最近完成的輪播: 完整代碼:GitHub 效果預覽:GitHub 在完成輪播中解決兩個問題: 1.setInterval()會

AFNetworking使用過程細節

0.先來看一下AFN如何傳送GET請求的 // 傳送網路請求 NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"a"] = @"category"; para

mysql使用過程細節注意點

由於博主目前在資料部門工作,接觸最多的關係型資料庫就是mysql,因為業務部門的資料一般都是儲存在mysql,而最終資料需要在大資料平臺上管理,所以中間過程少不了ETL,以及給資料分析BI人員提供資料,這樣就會導致寫很多的sql,關於sql,博主也是半路出家,野路子,所以難免

PL/SQL儲存函式儲存過程

一.儲存過程和儲存函式 1.1什麼是儲存過程和儲存函式: 指儲存在資料庫中供所有的使用者程式呼叫的 子程式叫儲存過程、儲存函式。 儲存過程和儲存函式的相同點:完成特定功能的程式 儲存過程和儲存函式的區別:是否用return 語句返回值,儲存過程不能使用return 返

ORACLE PL/SQL語法應用:遊標儲存過程觸發器函式

--遊標 --do while迴圈 declare    cursor c is select * from t_t_student order by id;   v_record c%rowtype

oracle12C資料庫JSON的應用 --PL/SQL儲存過程JSON解析應用篇

最近有些專案在資料庫oracle中使用到json格式的資料互動,對於oracle12以上的版本都支援JSON格式資料的使用,剛剛接觸的猿們可以到上一篇oracle資料庫使用json的簡單入門,最好參考官方的API文件關於oracle官方API文件對JSON的支援; 下面就比較詳細的說一下,關

ORACLE PL/SQL程式設計之六: 把過程與函式說透(窮追猛打把根兒都拔起!)

本篇主要內容如下: 6.1 引言 6.2 建立函式 6.3 儲存過程 6.3.1 建立過程 6.3.2 呼叫儲存過程 6.3.3 AUTHID 6.3.4 PRAGMA AUTONOMOUS_TRANSACTION 6.3.5 開發儲存過程步驟 6.3.6 

Sql Server 資料庫表結構儲存過程檢視比較指令碼

  頂級乾貨   用來比較兩個資料庫之間 表結構,儲存過程及檢視差異的儲存過程,直接複製對應的儲存過程,無需改動,直接在資料庫中執行(傳遞要比較的資料庫引數)即可 1.兩個資料庫之間儲存過程及檢視差異比較的儲存過程 --測試指令碼 --exec [p_com