DB2 - Chuỗi

Chương này giới thiệu cho bạn khái niệm về trình tự, tạo trình tự, xem trình tự và bỏ chúng.

Giới thiệu

Chuỗi là một chức năng phần mềm tạo các số nguyên theo thứ tự tăng dần hoặc giảm dần, trong một phạm vi xác định, để tạo khóa chính và điều phối các khóa khác giữa bảng. Bạn sử dụng trình tự cho các số nguyên hiện có, chẳng hạn như cho worker_id hoặc transaction_id. Một chuỗi có thể hỗ trợ các kiểu dữ liệu SMALLINT, BIGINT, INTEGER và DECIMAL. Một chuỗi có thể được chia sẻ giữa nhiều ứng dụng. Một chuỗi được tăng hoặc giảm bất kể các giao dịch.

Một chuỗi được tạo bởi câu lệnh CREATE SEQUENCE.

Các loại trình tự

Có hai loại trình tự có sẵn:

  • NEXTVAL: Nó trả về một giá trị tăng dần cho một số thứ tự.

  • PREVIOUS VALUE: Nó trả về giá trị được tạo gần đây.

Các tham số của chuỗi

Các tham số sau được sử dụng cho các chuỗi:

Data type: Đây là kiểu dữ liệu của giá trị gia tăng được trả về. (SMALLINT, BIGINT, INTEGER, NUMBER, DOUBLE)

START WITH: Giá trị tham chiếu mà trình tự bắt đầu.

MINVALUE: Giá trị nhỏ nhất cho một chuỗi bắt đầu bằng.

MAXVALUE: Giá trị lớn nhất cho một chuỗi.

INCREMENT BY: giá trị bước theo đó chuỗi được tăng dần.

Sequence cycling: mệnh đề CYCLE tạo ra chuỗi lặp lại. Việc tạo trình tự được thực hiện bằng cách tham chiếu giá trị trả về, được lưu trữ vào cơ sở dữ liệu bằng cách tạo trình tự trước đó.

Tạo một chuỗi

Bạn có thể tạo chuỗi bằng cú pháp sau:

Syntax:

db2 create sequence <seq_name>

Example: [Để tạo một chuỗi mới với tên 'sales1_seq' và tăng các giá trị từ 1]

db2 create sequence sales1_seq as int start 
with 1 increment by 1

Xem trình tự

Bạn có thể xem một chuỗi bằng cú pháp dưới đây:

Syntax:

db2 value <previous/next> value for <seq_name>

Example: [Để xem danh sách giá trị được cập nhật trước đó trong chuỗi 'sales1_seq']

db2 values previous value for sales1_seq

Output:

1 
----------- 
  4 
  1 record(s) selected.

Bỏ trình tự

Để xóa trình tự, bạn cần sử dụng “DROP SEQUENCE " chỉ huy. Đây là cách bạn làm điều đó:

Syntax:

db2 drop sequence <seq_name>>

Example: [Để xóa chuỗi 'sales1_seq' khỏi cơ sở dữ liệu]

db2 drop sequence sales1_seq

Output:

DB20000I The SQL command completed successfully.