Oracle Form 資料提交方式
commit_form
先對Form上的變動資料commit,再對程式碼中類似的DML語句進行提交,當兩次提交有衝突時以DML語句的提交為準。
適用情況:直接在FORM上修改資料時,可以使用。
commit
對Form和資料庫進行提交,如果Form上面的資料和程式碼中的資料變動有衝突,最後以 FORM 上的為準。
適用情況:一般來在直接使用 DML 程式碼修改資料時,就使用 commit。
do_key(‘commit_form’)
會首先尋找 Form 下的 triggers 中的 KEY-COMMIT 這個 trigger, 並執行 KEY-COMMIT 中所寫的程式碼。如果沒有 KEY-COMMIT 這個 trigger,則會針對 Form和程式碼一起提交。如果 Form 上面的資料變動和程式碼中的資料變動有衝突,最後以介面上的為準。
適用情況:與commit的執行順序相反
forms_ddl(‘commit’)
只針對程式碼中的 update, insert,delete 語句進行提交,不會提交Form介面變動的資料。一般不用。
QUIETCOMMIT
oracle form “悄悄” 提交。如果使用commit_form的話會彈出資訊提示”沒有修改需要儲存”或者”XXX記錄已儲存”。如果你不想提示出現,則可以呼叫函式app_form.quietcommit。由於是一個function, 所以需要定義一個變數用來接收返回值, 返回值型別為boolean,當true的時候就說明成功, 否則commit失敗。