Oracle &引用;序列生成";是否显示未按顺序排列?甲骨文表格

Oracle &引用;序列生成";是否显示未按顺序排列?甲骨文表格,oracle,oracleforms,Oracle,Oracleforms,执行应用于显示所有记录的\u查询,序列可以正常工作,但不是按降序 如果有任何方法可以按(“否”,列)中的顺序排列此数据块,请提供帮助 这是表格,这是顺序: CREATE SEQUENCE CITIZENS_LIC_NO_SEQ_1 START WITH 1 INCREMENT BY 1 触发因素如下: CREATE OR REPLACE TRIGGER CITIZENS_LIC_NO_TRIGG_1 BEFORE INSERT ON CITIZENS_LIC FOR EACH ROW

执行应用于显示所有记录的\u查询,序列可以正常工作,但不是按降序

如果有任何方法可以按(“否”,列)中的顺序排列此数据块,请提供帮助

这是表格,这是顺序:

CREATE SEQUENCE CITIZENS_LIC_NO_SEQ_1
START WITH 1
INCREMENT BY 1
触发因素如下:

 CREATE OR REPLACE TRIGGER CITIZENS_LIC_NO_TRIGG_1
 BEFORE INSERT ON CITIZENS_LIC
 FOR EACH ROW
 BEGIN
 SELECT CITIZENS_LIC_NO_SEQ_1.NEXTVAL
 INTO   :new.NO
 FROM   DUAL;
 END;
尝试添加任何值,都可以正常工作,但是当您从forms builder添加值时,它会根据您的鼠标单击更改顺序

另一件事是当我试图从表中删除任何内容时, 序列破坏了顺序,删除的值及其序列号永远消失


可能表单的触发器有帮助,但我不知道哪一个好用

如果要对数据块中的行进行排序,请打开其“属性”选项板,找到
按顺序
属性并将所需内容放入其中。在你的情况下,似乎是这样

order by no desc
在该数据块中执行查询时,结果将按
no
列降序排序

从删除行开始:当然,它将丢失。你期待什么?序列保证唯一的,但不是无间隙的数字列表。小心它的隐藏;您甚至不必删除任何行,但连续两个会话可能会产生间隙。这就是序列的工作原理;如果我是你,我会接受的


如果您想创建无间隙数字,您必须编写自己的代码,而且它不会像您想象的那么简单。您必须注意插入(非常简单)、更新和删除。再次:坚持顺序。

如果要对数据块中的行进行排序,请打开其“属性”选项板,找到“按顺序排序”属性,然后将所需内容放入其中。在你的情况下,似乎是这样

order by no desc
在该数据块中执行查询时,结果将按
no
列降序排序

从删除行开始:当然,它将丢失。你期待什么?序列保证唯一的,但不是无间隙的数字列表。小心它的隐藏;您甚至不必删除任何行,但连续两个会话可能会产生间隙。这就是序列的工作原理;如果我是你,我会接受的


如果您想创建无间隙数字,您必须编写自己的代码,而且它不会像您想象的那么简单。您必须注意插入(非常简单)、更新和删除。再次强调:坚持顺序。

请不要使用图片来描述您的代码和/或数据;不是所有人都能通过防火墙看到图像,这使得代码和数据很难复制和粘贴!嗯,抱歉,编辑问题:)值得记住的是,序列不能保证顺序-例如,在RAC数据库上,很可能会无序添加序列。更好的方法是使用一个日期或时间戳列来存储插入行时的日期。请注意,这不会告诉您行是何时提交的。请不要使用图片描述您的代码和/或数据;不是所有人都能通过防火墙看到图像,这使得代码和数据很难复制和粘贴!嗯,抱歉,编辑问题:)值得记住的是,序列不能保证顺序-例如,在RAC数据库上,很可能会无序添加序列。更好的方法是使用一个日期或时间戳列来存储插入行时的日期。请注意,这不会告诉您行是何时提交的。