Oracle Form中COMMIT的概述及使用技巧
更新時(shí)間:2013年03月06日 15:29:34 作者:
針對(duì)form上面的數(shù)據(jù)變動(dòng)提交到后臺(tái)數(shù)據(jù)庫(kù),同時(shí)數(shù)據(jù)庫(kù)提交數(shù)據(jù),接下來將詳細(xì)介紹下Form中COMMIT的使用,感興趣的你可以參考下本文
1. COMMIT_FORM和COMMIT
都對(duì)form和數(shù)據(jù)庫(kù)進(jìn)行提交。針對(duì)form上面的數(shù)據(jù)變動(dòng)提交到后臺(tái)數(shù)據(jù)庫(kù),同時(shí)數(shù)據(jù)庫(kù)提交數(shù)據(jù)。
2. DO_KEY('COMMIT_FORM')
它會(huì)首先執(zhí)行KEY-COMMIT觸發(fā)器里面的代碼,如果沒有這個(gè)觸發(fā)器,則會(huì)做COMMIT_FORM一樣的操作。
3. FORMS_DLL('COMMIT')
只針對(duì)代碼中insert、update、delete語(yǔ)句進(jìn)行提交,form上面的數(shù)據(jù)不提交。
DG 里面提到:
Replace COMMIT with do_key('commit_form'), This routine raises the exception FORM_TRIGGER_FAILURE if there is an invalid record.
COMMIT時(shí)觸發(fā)器執(zhí)行順序:
(1).KEY-COMMIT
(2).PRE-COMMIT
(3).PRE/ON/POST DELETE
(4).PRE/ON/POST UPDATE
(5).PRE/ON/POST INSERT
(6).ON-COMMIT
(7).Post DataBase Commit
4. QUIETCOMMIT
oracle form "悄悄" 提交。如果使用commit_form的話會(huì)彈出信息提示"沒有修改需要保存"或者"XXX記錄已保存"。如果你不想提示出現(xiàn),則可以調(diào)用函數(shù)
app_form.quietcommit。由于是一個(gè)function, 所以需要定義一個(gè)變量用來接收返回值, 返回值類型為boolean,當(dāng)true的時(shí)候就說明成功, 否則commit失敗。
將系統(tǒng)的消息級(jí)別改為較低級(jí)別也可調(diào)用如下過程:
PROCEDURE docommit IS
old_level VARCHAR2(2);
BEGIN
old_level := name_in('system.message_level');
copy('5', 'system.message_level');
COMMIT;
copy(old_level, 'system.message_level');
END;
都對(duì)form和數(shù)據(jù)庫(kù)進(jìn)行提交。針對(duì)form上面的數(shù)據(jù)變動(dòng)提交到后臺(tái)數(shù)據(jù)庫(kù),同時(shí)數(shù)據(jù)庫(kù)提交數(shù)據(jù)。
2. DO_KEY('COMMIT_FORM')
它會(huì)首先執(zhí)行KEY-COMMIT觸發(fā)器里面的代碼,如果沒有這個(gè)觸發(fā)器,則會(huì)做COMMIT_FORM一樣的操作。
3. FORMS_DLL('COMMIT')
只針對(duì)代碼中insert、update、delete語(yǔ)句進(jìn)行提交,form上面的數(shù)據(jù)不提交。
DG 里面提到:
Replace COMMIT with do_key('commit_form'), This routine raises the exception FORM_TRIGGER_FAILURE if there is an invalid record.
COMMIT時(shí)觸發(fā)器執(zhí)行順序:
(1).KEY-COMMIT
(2).PRE-COMMIT
(3).PRE/ON/POST DELETE
(4).PRE/ON/POST UPDATE
(5).PRE/ON/POST INSERT
(6).ON-COMMIT
(7).Post DataBase Commit
4. QUIETCOMMIT
oracle form "悄悄" 提交。如果使用commit_form的話會(huì)彈出信息提示"沒有修改需要保存"或者"XXX記錄已保存"。如果你不想提示出現(xiàn),則可以調(diào)用函數(shù)
app_form.quietcommit。由于是一個(gè)function, 所以需要定義一個(gè)變量用來接收返回值, 返回值類型為boolean,當(dāng)true的時(shí)候就說明成功, 否則commit失敗。
將系統(tǒng)的消息級(jí)別改為較低級(jí)別也可調(diào)用如下過程:
復(fù)制代碼 代碼如下:
PROCEDURE docommit IS
old_level VARCHAR2(2);
BEGIN
old_level := name_in('system.message_level');
copy('5', 'system.message_level');
COMMIT;
copy(old_level, 'system.message_level');
END;
相關(guān)文章
Oracle跨數(shù)據(jù)庫(kù)查詢并插入實(shí)現(xiàn)原理及代碼
需要從一個(gè)數(shù)據(jù)庫(kù)中的表GIS_WEICHAI_DATA_1S中的數(shù)據(jù)導(dǎo)入到另個(gè)一數(shù)據(jù)庫(kù)的表GIS_WEICHAI_DATA_1S中,接下來為你講解跨數(shù)據(jù)庫(kù)查詢并插入需要的朋友可以參考下2013-03-03在Oracle數(shù)據(jù)庫(kù)表中加載多個(gè)數(shù)據(jù)文件的方法詳解
這篇文章主要給大家介紹了在Oracle數(shù)據(jù)庫(kù)表中加載多個(gè)數(shù)據(jù)文件的方法,本文中,我將展示 SQL 加載器 + Unix 腳本實(shí)用程序的強(qiáng)大功能,其中 SQL 加載器可以使用自動(dòng) shell 腳本加載多個(gè)數(shù)據(jù)文件,需要的朋友可以參考下2024-01-01ORA-06512數(shù)字或值錯(cuò)誤字符串緩沖區(qū)太小異常詳解
最近工作中遇到了Oracle: ORA-06512:字符串緩沖區(qū)太小,報(bào)錯(cuò)的意思很簡(jiǎn)單,字符串緩沖區(qū)小了,這篇文章主要給大家介紹了關(guān)于ORA-06512數(shù)字或值錯(cuò)誤字符串緩沖區(qū)太小異常的相關(guān)資料,需要的朋友可以參考下2023-01-01Oracle實(shí)例啟動(dòng)時(shí)報(bào)錯(cuò):ORA-32004的解決方法
最近在啟動(dòng)實(shí)例時(shí)遇到了一些錯(cuò)誤,通過查找的相關(guān)的資料終于解決,決定分享出來給有需要的朋友們,所以下面這篇文章主要給大家介紹了在Oracle實(shí)例啟動(dòng)時(shí)報(bào)錯(cuò):ORA-32004的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10[Oracle] Data Guard 之 淺析Switchover與Failover
以下是對(duì)Oracle中Switchover與Failover的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07