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
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.