Oracle Form 产生序号问题

我的数据表test(id,name)在程序中如何通过提交按钮自动产生顺序id要求:name输入5个人的名字则id为:1,2,3,4,5name输入2个人的名字则id为:1... 我的数据表test(id,name)
在程序中如何通过提交按钮自动产生顺序id
要求:name 输入5个人的名字则id 为:1,2,3,4,5
name 输入2个人的名字则id 为:1,2
请看仔细标题,要在Oracle Form实现并给出代码,先多谢2楼的,但是我要求是每次产生序号都是从1开始,第1次name输入5行id:1,2,3,4,5,第2次name输入两行id:1,2烦请再帮忙写下!
我输入两条记录产生1,2
下次输入3条记录要产生1,2,3
不知道怎麼用,请写完整代码。多谢!可以再加分
1.当有多条记录的时候怎麼给id赋值,如第2条记录id:=2,如第3条记录id:=3
2.如何判断有输入多少条记录?
展开
 我来答
百度网友6e7a37325
2009-04-13 · TA获得超过900个赞
知道小有建树答主
回答量:432
采纳率:0%
帮助的人:274万
展开全部
用FORM 实现的话
把ID放在FORM 里,可以隐藏~
在按钮上设置TRIGGER!,选择 WHEN-BOTTON-PRESSED

TRIGGER: WHEN-BOTTON-PRESSED。

DECLARE
V_ID NUMBER(6);
BEGIN
SELECT MAX(ID) FROM TEST ;
IF V_ID IS NOT NULL THEN
SELECT LPAD((V_NO+1),6,0) INTO :TEST.ID FROM DUAL;
ELSE
:TEST.ID:='000001';
END IF;
EXCEPTION WHEN OTHERS THEN
MESSAGE('ID产生异常'); --这个是自己写的函数!提示信息的~
END;

如果你是想要每次进来都重新计数的话,那就可以另设个参数了!
或者选择一个全局变量,在WHEN NEW-FORM INSTANCE trigger 中设置 :GLOBAL.ID :='0' ;
在下面需要的地方:GLOBAL.ID :=:GLOBAL.ID+1 就好了~
ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
百度网友f2a99ee
2009-04-13 · TA获得超过175个赞
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:170万
展开全部
将id设置为自增序列 自增数为1初始为1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式