Oracle Form中COMMIT的概述及使用技巧
更新時間:2013年03月06日 15:29:34 作者:
針對form上面的數(shù)據(jù)變動提交到后臺數(shù)據(jù)庫,同時數(shù)據(jù)庫提交數(shù)據(jù),接下來將詳細介紹下Form中COMMIT的使用,感興趣的你可以參考下本文
1. COMMIT_FORM和COMMIT
都對form和數(shù)據(jù)庫進行提交。針對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語句進行提交,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),則可以調用函數(shù)
app_form.quietcommit。由于是一個function, 所以需要定義一個變量用來接收返回值, 返回值類型為boolean,當true的時候就說明成功, 否則commit失敗。
將系統(tǒng)的消息級別改為較低級別也可調用如下過程:
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ù)庫進行提交。針對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語句進行提交,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),則可以調用函數(shù)
app_form.quietcommit。由于是一個function, 所以需要定義一個變量用來接收返回值, 返回值類型為boolean,當true的時候就說明成功, 否則commit失敗。
將系統(tǒng)的消息級別改為較低級別也可調用如下過程:
復制代碼 代碼如下:
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;
相關文章
Windows10系統(tǒng)中Oracle完全卸載正確步驟
自己剛到公司就是熟悉數(shù)據(jù)庫的安裝卸載,所以分享一下學到的,下面這篇文章主要給大家介紹了關于Windows10系統(tǒng)中Oracle完全卸載正確步驟的相關資料,文章通過圖文介紹的非常詳細,需要的朋友可以參考下2023-04-04
Oracle數(shù)據(jù)庫空間滿了進行空間擴展的方法
這篇文章主要介紹了Oracle數(shù)據(jù)庫空間滿了進行空間擴展的方法,非常不錯,具有參考借鑒價值需要的朋友可以參考下2018-02-02
oracle數(shù)據(jù)庫在客戶端建立dblink語法
oracle服務器沒有建立目標數(shù)據(jù)庫的TNS時,在客戶端(有權限的情況下)建立dblink語法如下,有需求的朋友可以參考下哈2013-05-05

