序列的概念:序列是一數據庫對象,利用它可生成唯一的整數。一般使用序列自動地生成主碼值。一個序列的值是由非凡的Oracle程序自動生成,因此序列避免了在應用層實現序列而引起的性能瓶頸。Oracle序列答應同時生成多個序列號,而每一個序列號是唯一的。當一個序列號生成時,序列是遞增,獨立于事務的提交或回滾。答應設計缺省序列,不需指定任何子句。該序列為上升序列,由1開始,增量為1,沒有上限。1: 建立序列命令CREATE SEQUENCE [user.]sequence_name [increment by n] [start with n] [maxvalue n nomaxvalue] [minvalue n nominvalue];INCREMENT BY: 指定序列號之間的間隔,該值可為正的或負的整數,但不可為0。序列為升序。忽略該子句時,缺省值為1。 START WITH:指定生成的第一個序列號。在升序時,序列可從比最小值大的值開始,缺省值為序列的最小值。對于降序,序列可由比最大值小的值開始,缺省值為序列的最大值。 MAXVALUE:指定序列可生成的最大值。 NOMAXVALUE:為升序指定最大值為1027,為降序指定最大值為-1。 MINVALUE:指定序列的最小值。 NOMINVALUE:為升序指定最小值為1。為降序指定最小值為-10262:更改序列命令ALTERSEQUENCE [user.]sequence_name [INCREMENT BY n] [MAXVALUE n NOMAXVALUE ] [MINVALUE n NOMINVALUE]; 修改序列可以: ? 修改未來序列值的增量。 ? 設置或撤消最小值或最大值。 ? 改變緩沖序列的數目。 ? 指定序列號是否是有序。3:刪除序列命令 DROP SEQUENCE [user.]sequence_name; 從數據庫中刪除一序列。 創建一個序列號的語句:CREATE SEQUENCE EXAM_NO_SEQ START WITH 1484 MAXVALUE 9999999999 MINVALUE 1 CYCLE CACHE 20 NOORDER;PB中取序列號的用法: string v_exam_no //獲取申請序號 SELECT exam_no_seq.nextval INTO :v_exam_no FROM dual using ghis_database; if ghis_database.SQLCODE<>0 then messagebox("","取檢查序號出錯") return end if