6.引用Oracle Form中如何使用COMMIT?绻?峤徽?鰂orm用do_key_commit 。代码:DECLARE l_where varchar2(2000) default '1=1';BEGINfnd_standard.set_who;
if :HEADERS.STATUS='NOT APPROVED'THENUPDATE expense_header_all SET status='APPROVED' WHERE HEADER_ID=:HEADERS.HEADER_ID;
IF (SQL%NOTFOUND) THEN
RAISE NO_DATA_FOUND;END IF;forms_ddl('COMMIT');
app_query.reset('HEADERS');
l_where:= l_where||' and HEADER_ID = ' || :HEADERS.HEADER_ID;
app_query.append ('HEADERS',l_where);
app_find.find('HEADERS');
app_query.reset('HEADERS');END IF;end;关于form中的commit,补充一下:
1.commit_form
针对form上面的数据变动进行commit,对于代码中的类似update,insert语句也进行提交;
如果form上面的数据变动和代码中的数据变动有冲突,最后以界面上的为准 。
2.do_key('commit_form')
会首先寻找form下的triggers中的KEY-COMMIT这个trigger,并执行KEY-COMMIT中所写的代码 。
如果没有KEY-COMMIT这个trigger,则会针对form和代码一起提交 。
如果form上面的数据变动和代码中的数据变动有冲突,最后以界面上的为准 。
3.commit对form和数据库进行提交.
如果form上面的数据变动和代码中的数据变动有冲突,最后以界面上的为准 。
4.forms_ddl('commit');
只针对代码中的update,insert,delete语句进行提交,form上面的数据变动不提交. 5谁覆盖谁,要看语句执行的顺序,比如在Post-Forms-Commit中写UPDATE就会覆盖界面 。
文章插图
- 院子里长青苔怎么去除
- switch语句怎么写
- 脚踝的英文怎么写
- 出售商铺广告怎么写
- 水字的小篆怎么写
- stm32中断怎么写
- 英语课自评怎么写
- 庐字篆书怎么写
- 糖醋花生怎么做 糖醋花生怎么做好吃
- 罐头鱼怎么做 罐头鱼怎么做出来的