【发布时间】:2018-04-16 18:04:32
【问题描述】:
我需要将数字 2 放入 CODCIA 公司,顺序为 1、2、3、4 等,当输入数字 4 时,顺序重置为 1。 我只有一张带有 codcia 字段的表。
我是这样的:
CODCIA NRODOCTO
------ --------
2 1
2 2
2 3
4 4
4 5
4 6
使用此代码:
IF (:E.NRODOCTO in (2)) then
BEGIN
SELECT NVL(MAX(NRODOCTO),1200)+1
INTO :E.NRODOCTO
FROM PS91;
EXCEPTION WHEN OTHERS THEN :E.NRODOCTO := 1200;
END;
END IF;
我需要这个:
CODCIA NRODOCTO
------ --------
2 1
2 2
2 3
4 1
4 2
4 3
【问题讨论】:
-
您似乎需要重置每个 CODCIA 组的计数器。您可以有更多的组,例如低于 2 或大于 4 吗?还是只有 2 组,2 组和 4 组?看看 Row_Number() 函数,而不是你写的。
标签: sql oracle plsql auto-increment oracleforms