Sequence trong SQL là gì

Sequence là một tập hợp bản quyền các số nguyên trực tuyến được tạo thứ tự theo yêu cầu hỗ trợ . Các sequence thường lừa đảo được sử dụng trong cơ sở dữ liệu vì đáp ứng yêu cầu tất toán của nhiều ứng dụng là đòi hỏi mỗi hàng trong một bảng chứa một giá trị duy nhất tương tự như khóa chính.

Bài viết tính năng sẽ cung cấp cho bạn cú pháp download giả mạo những ví dụ về cách tạo dữ liệu và xóa bỏ sequence trong SQL Server.

CREATE SEQUENCE [Tạo Sequence]

Cú pháp

Để tạo một sequence qua web , ta có cú pháp sau:

CREATE SEQUENCE [schema.]sequence_name
[ AS datatype ]
[ START WITH value ]
[ INCREMENT BY value ]
[ MINVALUE value | NO MINVALUE ]
[ MAXVALUE value | NO MAXVALUE ]
[ CYCLE | NO CYCLE ]
[ CACHE value | NO CACHE ];

Tham số:

  • AS datatype: danh sách có thể là thanh toán các kiểu BIGINT chia sẻ , INT full crack , TINYINT tự động , SMALLINT cài đặt , DECIMAL chi tiết , or NUMERIC phải làm sao . tốt nhất Nếu không chỉ định một kiểu cụ thể miễn phí , chương trình lừa đảo sẽ mặc định datatype kỹ thuật của bạn ở dạng BIGINT.
  • START WITH value: Giá trị bắt đầu qua web mà sequence trả về.
  • INCREMENT BY value: Quy luật tăng/giảm trên điện thoại của sequence chia sẻ , đăng ký vay có thể mang giá trị dương tải về hoặc âm hướng dẫn . tổng hợp Nếu value ở đây là dương cài đặt , sequence danh sách sẽ là một chuỗi như thế nào các giá trị tăng dần xóa tài khoản . Ngược lại là âm nạp tiền , sequence mẹo vặt sẽ giảm dần.
  • MINVALUE value: Giá trị nhỏ nhất trong chuỗi.
  • NO MINVALUE: Không chỉ định giá trị nhỏ nhất.
  • MAXVALUE value: Giá trị lớn nhất trong chuỗi.
  • NO MAXVALUE: Không chỉ định giá trị lớn nhất.
  • CYCLE: Sequence ở đâu tốt sẽ bắt đầu lại từ đầu khi nó hoàn thành chuỗi.
  • NO CYCLE: Sequence vô hiệu hóa sẽ xảy ra lỗi khi kết thúc chuỗi nhanh nhất , nó kỹ thuật sẽ không bắt đầu lại khi hoàn thành.
  • CACHE value: Lưu ở bộ nhớ đệm [cache] dữ liệu để giảm thiểu cho disk IO.
  • NO CACHE: Không lưu ở cache.

Ví dụ

CREATE SEQUENCE contacts_seq
AS BIGINT
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 99999
NO CYCLE
CACHE 10;

Ở đây ta miễn phí đã tạo một sequence có tên là contacts_seq ở đâu uy tín , bắt đầu từ giá trị 1 kích hoạt , mỗi giá trị sau tăng thêm một đơn vị [tức là 2 mật khẩu , 3 link down , 4...] giảm giá . Chuỗi danh sách sẽ lưu khoảng 10 giá trị vào bộ nhớ cache xóa tài khoản . Giá trị lớn nhất trong sequence là 99999 tăng tốc và nó chia sẻ sẽ không bắt đầu lại chuỗi sau khi sequence kết thúc ở giá trị lớn nhất.

Bạn sử dụng cũng giả mạo có thể thực hiện lệnh trên một cách đơn giản nhanh nhất như sau:

CREATE SEQUENCE contacts_seq
START WITH 1
INCREMENT BY 1;

Vậy là vừa xong bạn tốc độ đã tạo sequence mô phỏng một trường autonumber bản quyền . Tiếp theo mới nhất , sửa lỗi để xuất một giá trị từ dãy này ta sử dụng lệnh NEXT VALUE FOR

SELECT NEXT VALUE FOR contacts_seq;

Câu lệnh này dữ liệu sẽ lấy giá trị ở đâu tốt tiếp theo từ contacts_seq. Tiếp đó sử dụng ở đâu tốt các câu lệnh cần thiết cho việc thực thi nơi nào của bạn tổng hợp . Ví dụ:

INSERT INTO contacts
[contact_id như thế nào , last_name]
VALUES
[NEXT VALUE FOR contacts_seq tự động , "Smith"];

Câu lệnh INSERT này giả mạo sẽ chèn một bản ghi mới vào bảng contact chia sẻ . Trường contact_id mật khẩu sẽ ứng dụng được gán số mới nhất tiếp theo từ chuỗi contacts_seq, trường last_name ứng dụng sẽ là "Smith".

DROP SEQUENCE [Xóa bỏ Sequence]

Một khi tài khoản đã tạo thành công lấy liền các sequence giả mạo thì cài đặt cũng hướng dẫn sẽ có thanh toán những trường hợp bạn muốn xóa bỏ sequence khỏi cơ sở dữ liệu vì một vài lý do.

Cú pháp

Để xóa bỏ một sequence hỗ trợ , ta có cú pháp sau:

DROP SEQUENCE sequence_name;

Tham số:

sequence_name: Tên sequence bạn muốn xóa bỏ.

Ví dụ

DROP SEQUENCE contacts_seq;

Thực hiện lệnh này là bạn tăng tốc đã vừa xóa bỏ chuỗi contacts_seq khỏi database.

Thuộc tính ở đâu tốt của Sequence

Để kiểm tra thuộc tính khóa chặn của sequence ở đâu uy tín , ta có cú pháp sau:

SELECT * FROM sys.sequences WHERE name = "sequence_name";

Tham số:

sequence_name: Tên chuỗi muốn kiểm tra thuộc tính.

Ví dụ

SELECT *
FROM sys.sequences
WHERE name = "contacts_seq";

Ví dụ này truy vấn thông tin từ hệ thống sys.sequences sử dụng và truy xuất kết quả cho chuỗi contacts_seq.

Hệ thống sys.sequences gồm sử dụng các cột sau:

CỘTCHÚ THÍCH
nameTên sequence danh sách đã kích hoạt được tạo ở câu lệnh CREATE SEQUENCE
object_idID phải làm sao của đối tượng
principal_idID principal an toàn của sequence [giá trị số]
schema_idID Schema chia sẻ của sequence
parent_object_idID nạp tiền của đối tượng cha
typeSO
type_descSEQUENCE_OBJECT
create_dateNgày/Thời gian tạo sequence bằng lệnh CREATE SEQUENCE
modify_dateNgày/Thời gian cuối cùng chỉnh sửa sequence
is_ms_shippedGiá trị 0 an toàn hoặc 1
is_publishedGiá trị 0 chia sẻ hoặc 1
is_schema_publishedGiá trị 0 tăng tốc hoặc 1
start_valueGiá trị bắt đầu link down của sequence
incrementGiá trị quy luật tăng/giảm đăng ký vay của sequence
minimum_valueGiá trị nhỏ nhất trong chuỗi
maximum_valueGiá trị lớn nhất trong chuỗi
is_cyclingGiá trị 0 tài khoản hoặc 1 thanh toán . 0=NO CYCLE giả mạo , 1=CYCLE
is_cachedGiá trị 0 nạp tiền hoặc 1 giảm giá , 0=NO CACHE chi tiết , 1=CACHE
cache_sizeKích thước hỗ trợ của bộ nhớ đệm khi is_cached = 1
system_type_idID system nhanh nhất của sequence
user_type_idID loại user dữ liệu của sequence
precisionĐộ chính xác tối đa cho kiểu dữ liệu kích hoạt của sequence
scalePhạm vi tối đa cho kiểu dữ liệu trực tuyến của sequence
current_valueGiá trị cuối cùng tự động được truy xuất từ sequence
is_exhaustedGiá trị 0 nguyên nhân hoặc 1 ứng dụng . 0=Có nhiều giá trị trong sequence miễn phí . 1=Không có giá trị

Bài trước: Khai báo biến trong SQL Server

Bài tiếp: FUNCTION [Hàm] trong SQL Server

4.9/5 [33 votes]

Có thể bạn quan tâm:

  • Cách rời nhóm Facebook hàng loạt nhanh nhất
  • Google Play Store chấp nhận thanh toán bằng Paypal
  • Các tham số trong HTTP
  • Cách xóa các ứng dụng đã thêm gần đây trong menu Start Windows 10
  • Lệnh GROUP BY trong SQL

Video liên quan

Chủ Đề