方法一:使用sequence
方法二:使用辅助变量,可以放在在另一个控制块或者全局变量,在数据块的when-new-record中加上
if :id_no is not null then
:new_id := :id_no + 10;
end if;然后把id_no项的初始值设为:new_id.
最后,控制数据块只能在最后新增记录。不过,你的这个需求似乎没有考虑过多个用户同时录入的情形。
方法二:使用辅助变量,可以放在在另一个控制块或者全局变量,在数据块的when-new-record中加上
if :id_no is not null then
:new_id := :id_no + 10;
end if;然后把id_no项的初始值设为:new_id.
最后,控制数据块只能在最后新增记录。不过,你的这个需求似乎没有考虑过多个用户同时录入的情形。
既然可以更改界面,我想你对数据库也应该有权限。
注意:不要强求号码连续,很困难。
至于多个用户或一次录入多条,由oracle自己来管理
sequence,不必操心。我觉得这是最好的方法。
在界面上做很麻烦。
不过我只有Application服务器的权限,Oracle服务器归其他人负责,我没权限.目前我们是在做训练开发.
用sequence当然方便,可老大说不用Oracle,一切尽量在Form上实现,看各位的留言,我看Form上实现基本上不可能了.: )
主要是when_new_record_instance触发器,也不是不可能。
但是可能会发生很多BUG,所以说很麻烦。
说服你的老大,怎么做不会出问题就怎么做.由oracle自己来管很方便的,为什么一定要在form上来实现呢.