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.如何判断有输入多少条记录? 展开
在程序中如何通过提交按钮自动产生顺序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.如何判断有输入多少条记录? 展开
展开全部
用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 就好了~
把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 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询