Oracle Form中COMMIT的概述及使用技巧
更新時間:2013年03月06日 15:29:34 作者:
針對form上面的數(shù)據(jù)變動提交到后臺數(shù)據(jù)庫,同時數(shù)據(jù)庫提交數(shù)據(jù),接下來將詳細(xì)介紹下Form中COMMIT的使用,感興趣的你可以參考下本文
1. COMMIT_FORM和COMMIT
都對form和數(shù)據(jù)庫進(jìn)行提交。針對form上面的數(shù)據(jù)變動提交到后臺數(shù)據(jù)庫,同時數(shù)據(jù)庫提交數(shù)據(jù)。
2. DO_KEY('COMMIT_FORM')
它會首先執(zhí)行KEY-COMMIT觸發(fā)器里面的代碼,如果沒有這個觸發(fā)器,則會做COMMIT_FORM一樣的操作。
3. FORMS_DLL('COMMIT')
只針對代碼中insert、update、delete語句進(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時觸發(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的話會彈出信息提示"沒有修改需要保存"或者"XXX記錄已保存"。如果你不想提示出現(xiàn),則可以調(diào)用函數(shù)
app_form.quietcommit。由于是一個function, 所以需要定義一個變量用來接收返回值, 返回值類型為boolean,當(dāng)true的時候就說明成功, 否則commit失敗。
將系統(tǒng)的消息級別改為較低級別也可調(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;
都對form和數(shù)據(jù)庫進(jìn)行提交。針對form上面的數(shù)據(jù)變動提交到后臺數(shù)據(jù)庫,同時數(shù)據(jù)庫提交數(shù)據(jù)。
2. DO_KEY('COMMIT_FORM')
它會首先執(zhí)行KEY-COMMIT觸發(fā)器里面的代碼,如果沒有這個觸發(fā)器,則會做COMMIT_FORM一樣的操作。
3. FORMS_DLL('COMMIT')
只針對代碼中insert、update、delete語句進(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時觸發(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的話會彈出信息提示"沒有修改需要保存"或者"XXX記錄已保存"。如果你不想提示出現(xiàn),則可以調(diào)用函數(shù)
app_form.quietcommit。由于是一個function, 所以需要定義一個變量用來接收返回值, 返回值類型為boolean,當(dāng)true的時候就說明成功, 否則commit失敗。
將系統(tǒng)的消息級別改為較低級別也可調(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ù)庫查詢并插入實現(xiàn)原理及代碼
需要從一個數(shù)據(jù)庫中的表GIS_WEICHAI_DATA_1S中的數(shù)據(jù)導(dǎo)入到另個一數(shù)據(jù)庫的表GIS_WEICHAI_DATA_1S中,接下來為你講解跨數(shù)據(jù)庫查詢并插入需要的朋友可以參考下2013-03-03在Oracle數(shù)據(jù)庫表中加載多個數(shù)據(jù)文件的方法詳解
這篇文章主要給大家介紹了在Oracle數(shù)據(jù)庫表中加載多個數(shù)據(jù)文件的方法,本文中,我將展示 SQL 加載器 + Unix 腳本實用程序的強大功能,其中 SQL 加載器可以使用自動 shell 腳本加載多個數(shù)據(jù)文件,需要的朋友可以參考下2024-01-01ORA-06512數(shù)字或值錯誤字符串緩沖區(qū)太小異常詳解
最近工作中遇到了Oracle: ORA-06512:字符串緩沖區(qū)太小,報錯的意思很簡單,字符串緩沖區(qū)小了,這篇文章主要給大家介紹了關(guān)于ORA-06512數(shù)字或值錯誤字符串緩沖區(qū)太小異常的相關(guān)資料,需要的朋友可以參考下2023-01-01[Oracle] Data Guard 之 淺析Switchover與Failover
以下是對Oracle中Switchover與Failover的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07