TheSPIMô -đun cung cấp soi kèo bóng đá truoctran số ví dụ khả thi về việc sử dụngGiao diện lập trình máy chủ(SPI) và kích hoạt. Mặc dù soi kèo bóng đá truoctran chức năng này có một số giá trị theo cách riêng của chúng, nhưng chúng thậm chí còn hữu ích hơn như là ví dụ để sửa đổi cho mục đích của riêng bạn.
Mỗi nhóm chức năng được mô tả bên dưới được cung cấp dưới dạng tiện ích mở rộng riêng biệt.
Check_primary_key ()
vàCheck_forign_key ()
được sử dụng để kiểm tra soi kèo bóng đá truoctran ràng buộc khóa nước ngoài. (Tất nhiên, chức năng này đã được thay thế bởi cơ chế khóa nước ngoài tích hợp, nhưng mô-đun vẫn hữu ích làm ví dụ.)
Check_primary_key ()
Kiểm tra bảng tham chiếu. Để sử dụng, tạo soi kèo bóng đá truoctranTrước khi chèn hoặc cập nhật
Trình soi kèo bóng đá truoctran bằng cách sử dụng chức năng này trên bảng tham chiếu bảng khác. Chỉ định là đối số soi kèo bóng đá truoctran: Tên cột của bảng tham chiếu tạo thành khóa ngoại, tên bảng được tham chiếu và tên cột trong bảng được tham chiếu tạo thành khóa chính/duy nhất.
Check_forign_key ()
Kiểm tra bảng được tham chiếu. Để sử dụng, tạo soi kèo bóng đá truoctranTrước khi xóa hoặc cập nhật
Trigger Sử dụng chức năng này trên bảng được tham chiếu bởi (soi kèo bóng đá truoctran) bảng khác. Chỉ định là đối số kích hoạt: Số lượng bảng tham chiếu mà chức năng phải thực hiện kiểm tra, hành động nếu tìm thấy khóa tham chiếu (Cascade
- Để xóa hàng tham chiếu,Hạn chế
- Để hủy bỏ giao dịch nếu có soi kèo bóng đá truoctran khóa tham chiếu tồn tại,SetNull
- Để đặt soi kèo bóng đá truoctran trường khóa tham chiếu thành NULL), tên cột của bảng được kích hoạt tạo thành khóa chính/duy nhất, sau đó tên bảng tham chiếu và tên cột (được lặp lại cho nhiều bảng tham chiếu như được chỉ định bởi đối số đầu tiên). Lưu ý rằng soi kèo bóng đá truoctran cột khóa chính/duy nhất phải được đánh dấu không phải null và nên có một chỉ mục duy nhất.
Có soi kèo bóng đá truoctran ví dụ tronginfint.example
.
Từ lâu,PostgreSQLCó tính năng du hành thời gian tích hợp giữ thời gian chèn và xóa cho mỗi tuple. Điều này có thể được mô phỏng bằng cách sử dụng soi kèo bóng đá truoctran chức năng này.Abstime
Nhập để lưu trữ ngày khi soi kèo bóng đá truoctran tuple được chèn (start_date) và thay đổi/xóa (stop_date):
Tạo bảng MyTab (
soi kèo bóng đá truoctran cột có thể được đặt tên bất cứ điều gì bạn thích, nhưng trong cuộc thảo luận này, chúng tôi sẽ gọi chúng là start_date và stop_date.
Khi soi kèo bóng đá truoctran hàng mới được chèn, start_date thường được đặt thành thời gian hiện tại và stop_date thànhInfinity
. Trình kích hoạt sẽ tự động thay thế soi kèo bóng đá truoctran giá trị này nếu dữ liệu được chèn chứa null trong soi kèo bóng đá truoctran cột này.
Tuples có stop_date bằngVô cực
làMạnhhợp lệ bây giờ, và có thể được sửa đổi. soi kèo bóng đá truoctran bộ dữ liệu với một stop_date hữu hạn không thể được sửa đổi nữa - bộ kích hoạt sẽ ngăn chặn nó.
Đối với soi kèo bóng đá truoctran hàng có thể sửa đổi, chỉ trên bản cập nhật, chỉ dừng lại trong bộ tuple được cập nhật sẽ được thay đổi (thành thời gian hiện tại) và soi kèo bóng đá truoctran bộ xử lý mới với dữ liệu được sửa đổi sẽ được chèn. Start_date trong tuple mới này sẽ được đặt thành thời gian hiện tại và stop_date thànhVô cực
.
Xóa không thực sự xóa Tuple mà chỉ đặt stop_date của nó thành thời gian hiện tại.
để truy vấn cho soi kèo bóng đá truoctran bộ dữ liệuhợp lệ bây giờHồi, bao gồmstop_date = 'Infinity'
Trong truy vấn của điều kiện. .
Timetravel ()
là hàm soi kèo bóng đá truoctran chung hỗ trợ hành vi này. Tạo ATrước khi chèn hoặc cập nhật hoặc xóa
Trình kích hoạt bằng cách sử dụng chức năng này trên mỗi bảng du lịch thời gian. Chỉ định hai đối số kích hoạt: tên thực tế của soi kèo bóng đá truoctran cột start_date và stop_date.Text
. Trình kích hoạt sẽ lưu trữ tên của người dùng hiện tại vào soi kèo bóng đá truoctran cột đầu tiên trong quá trình chèn, cột thứ hai trong quá trình cập nhật và thứ ba trong quá trình xóa.
set_timetravel ()
Cho phép bạn bật hoặc tắt du lịch thời gian cho soi kèo bóng đá truoctran bảng.set_timetravel ('mytab', 1)
Sẽ bật TT cho bảngMyTab
. set_timetravel ('mytab', 0)
sẽ tắt TT cho bảngMyTab
. Trong cả hai trường hợp, tình trạng cũ được báo cáo.
get_timetravel ()
Trả về trạng thái TT cho bảng mà không thay đổi nó.
Có soi kèo bóng đá truoctran ví dụ trongtimetravel.example
.
Autoinc ()
là một soi kèo bóng đá truoctran lưu trữ giá trị tiếp theo của chuỗi vào trường số nguyên. Điều này có một số trùng lặp với tích hợpCột nối tiếptính năng, nhưng nó không giống nhau:Autoinc ()
sẽ ghi đè soi kèo bóng đá truoctran nỗ lực thay thế một giá trị trường khác trong quá trình chèn và tùy chọn nó có thể được sử dụng để tăng trường trong soi kèo bóng đá truoctran bản cập nhật.
Để sử dụng, tạo ATrước khi chèn
(hoặc tùy chọnTrước khi chèn hoặc cập nhật
) Trình kích hoạt bằng hàm này. Chỉ định hai đối số kích hoạt: Tên của cột Số nguyên sẽ được sửa đổi và tên của đối tượng chuỗi sẽ cung cấp soi kèo bóng đá truoctran giá trị.
Có soi kèo bóng đá truoctran ví dụ trongAutoinc.example
.
insert_username ()
là một soi kèo bóng đá truoctran lưu trữ tên người dùng hiện tại vào trường văn bản. Điều này có thể hữu ích để theo dõi người đã sửa đổi lần cuối một hàng cụ thể trong bảng.
Để sử dụng, tạo soi kèo bóng đá truoctranTrước khi chèn
và/hoặcCập nhật
Trình soi kèo bóng đá truoctran bằng cách sử dụng chức năng này. Chỉ định một đối số soi kèo bóng đá truoctran duy nhất: tên của cột văn bản sẽ được sửa đổi.
Có soi kèo bóng đá truoctran ví dụ tronginsert_username.example
.
moddateTime ()
là một soi kèo bóng đá truoctran lưu trữ thời gian hiện tại vào ADấu thời gian
Trường. Điều này có thể hữu ích để theo dõi thời gian sửa đổi cuối cùng của soi kèo bóng đá truoctran hàng cụ thể trong bảng.
Để sử dụng, tạo soi kèo bóng đá truoctranTrước khi cập nhật
Trình soi kèo bóng đá truoctran bằng cách sử dụng chức năng này. Chỉ định một đối số soi kèo bóng đá truoctran duy nhất: tên của cột sẽ được sửa đổi.Dấu thời gian
hoặcdấu thời gian với múi giờ
.
Có soi kèo bóng đá truoctran ví dụ trongmoddateTime.example
.