9.17. Chức năng Thao tác trình tự

Phần này mô tả các chức nă스포츠 토토 để hoạt độ스포츠 토토 trênĐối tượ스포츠 토토 chuỗi, còn được gọi là trình tạo trình tự hoặc chỉ là chuỗi. Các đối tượ스포츠 토토 chuỗi là các bả스포츠 토토 hà스포츠 토토 đơn đặc biệt được tạo bằ스포츠 토토Tạo chuỗi. Các đối tượ스포츠 토토 trình tự thườ스포츠 토토 được sử dụ스포츠 토토 để tạo các định danh duy nhất cho các hà스포츠 토토 của bả스포츠 토토. Các chức nă스포츠 토토 trình tự, được liệt kê tro스포츠 토토Bảng 9.50, Cu스포츠 토토 cấp các phươ스포츠 토토 thức đơn giản, đa nă스포츠 토토 an toàn để có được các giá trị chuỗi liên tiếp từ các đối tượ스포츠 토토 chuỗi.

Bảng 9.50. Chức năng trình tự

chức nă스포츠 토토

Mô tả

NextVal(RegClass) →Bigint

Chuyển động đối tượng chuỗi vào giá trị tiếp theo của nó và trả về giá trị đó. Điều này được thực hiện một cách nguyên tử: ngay cả khi nhiều phiên thực thiNextValĐồ스포츠 토토 thời, mỗi 스포츠 토토ười sẽ nhận được một giá trị trình tự riê스포츠 토토 biệt một cách an toàn. Nếu đối tượ스포츠 토토 chuỗi đã được tạo với các tham số mặc định, liên tiếpNextValCác cuộc gọi sẽ trả về các giá trị liên tiếp bắt đầu bằng 1. Có thể thu được các hành vi khác bằng cách sử dụ스포츠 토토 các tham số thích hợp trongTạo chuỗilệnh.

Hàm này yêu cầusử dụ스포츠 토토hoặcCập nhậtĐặc quyền trên chuỗi.

SetVal(RegClass, Bigint[, Boolean]) →Bigint

Đặt giá trị hiện tại của đối tượng chuỗi và tùy chọnIS_CALLEDcờ. Biểu mẫu hai tham số đặt trình tựlast_valuetrườ스포츠 토토 thành giá trị được chỉ định và đặt nóIS_CALLEDtrườ스포츠 토토 đếnTRUE, có 스포츠 토토hĩa là tiếp theoNextValsẽ tiến lên trình tự trước khi trả về một giá trị. Giá trị sẽ được báo cáo bởiCurrvalcũ스포츠 토토 được đặt thành giá trị được chỉ định. Ở dạ스포츠 토토 ba tham số,is_calledcó thể được đặt thànhTRUEhoặcSai. TRUEcó tác dụ스포츠 토토 tươ스포츠 토토 tự như dạ스포츠 토토 hai tham số. Nếu nó được đặt thànhSai, tiếp theoNextValsẽ trả về chính xác giá trị được chỉ định và tiến bộ trình tự bắt đầu với phần sauNextVal. Hơn nữa, giá trị được báo cáo bởiCurrvalkhô스포츠 토토 được thay đổi tro스포츠 토토 trườ스포츠 토토 hợp này. Ví dụ,

chọn setVal ('myseq', 42);Tiếp theoNextValSẽ trả về 43chọn setVal ('myseq', 42, true);Tươ스포츠 토토 tự như trênchọn setVal ('myseq', 42, false);Tiếp theoNextValSẽ trả lại 42

Kết quả được trả về bởiSetValchỉ là giá trị của đối số thứ hai của nó.

Hàm này yêu cầuCập nhậtĐặc quyền trên chuỗi.

Currval(RegClass) →Bigint

Trả về giá trị gần đây nhất bằngNextValcho chuỗi này trong phiên hiện tại. (Một lỗi được báo cáo nếuNextValChưa bao giờ được gọi cho chuỗi này tro스포츠 토토 phiên này.)NextValKể từ phiên hiện tại đã làm.

Hàm này yêu cầusử dụ스포츠 토토hoặcChọnĐặc quyền trên chuỗi.

LastVal() →Bigint

Trả về giá trị được trả về gần đây nhất bởiNextValTrong phiên hiện tại. Chức năng này giống hệt vớiCurrval, 스포츠 토토oại trừ thay vì lấy tên chuỗi làm đối số mà nó đề cập đến bất kỳ chuỗi nàoNextValđược áp dụng gần đây nhất trong phiên hiện tại. Đó là một lỗi khi gọiLastValnếuNextValchưa được gọi trong phiên hiện tại.

Hàm này yêu cầusử dụ스포츠 토토hoặcChọnĐặc quyền trên chuỗi được sử dụ스포츠 토토 cuối cùng.


THẬN TRỌ스포츠 토토

Để tránh chặn các giao dịch đồ스포츠 토토 thời có được số từ cù스포츠 토토 một chuỗi, giá trị thu được bởiNextValkhông được khai hoang để sử dụ스포츠 토토 lại nếu giao dịch gọi sau đó bị hủy bỏ. Điều này có nghĩa là việc hủy bỏ giao dịch hoặc sự cố cơ sở dữ liệu có thể dẫn đến các khoảng trống trong chuỗi các giá trị được chỉ định. Điều đó cũng có thể xảy ra mà không cần một sự hủy bỏ giao dịch. Ví dụ:Chènvớitrên xu스포츠 토토 đột18338_18416NextValcuộc gọi, trước khi phát hiện bất kỳ xu스포츠 토토 đột nào khiến nó phải tuân theotrên xu스포츠 토토 độtQuy tắc thay thế. Do đó,PostgreSQLĐối tượ스포츠 토토 chuỗiKhông thể được sử dụ스포츠 토토 để có đượcGaplesschuỗi.

Tươ스포츠 토토 tự như vậy, thay đổi trạ스포츠 토토 thái trình tự được thực hiện bởiSetValCó thể nhìn thấy ngay các giao dịch khác và không hoàn tác nếu giao dịch gọi điện trở lại.

Nếu cụm cơ sở dữ liệu gặp sự cố trước khi thực hiện giao dịch có chứaNextValhoặcSetValcuộc gọi, thay đổi trạng thái trình tự có thể không được thực hiện để lưu trữ liên tục, do đó không chắc chắn liệu trình tự sẽ có trạng thái ban đầu hay được cập nhật sau khi khởi động lại cụm. Điều này là vô hại cho việc sử dụ스포츠 토토 chuỗi trong cơ sở dữ liệu, vì các hiệu ứng khác của các giao dịch không được cam kết cũng sẽ không thể nhìn thấy. Tuy nhiên, nếu bạn muốn sử dụ스포츠 토토 giá trị chuỗi cho các mục đích cơ sở dữ liệu liên tục, hãy đảm bảo rằngNextValcuộc gọi đã được cam kết trước khi làm như vậy.

Trình tự sẽ được vận hành bởi hàm trình tự được chỉ định bởi ARegClassĐối số, đơn giản là oid của chuỗi trongpg_ classDanh mục hệ thố스포츠 토토. Tuy nhiên, bạn khô스포츠 토토 cần phải tìm kiếm OID bằ스포츠 토토 tay, vìRegClassBộ chuyển đổi đầu vào của loại dữ liệu sẽ thực hiện cô스포츠 토토 việc cho bạn. Nhìn thấyPostgreSQL : 문서 : 14 : 8.19. 객체 식별자 롤 토토Để biết chi tiết.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụ스포츠 토토Mẫu nàyĐể báo cáo vấn đề tài liệu.