Tạo kèo bóng đá hôm nay và ngày mai - Xác định kèo bóng đá hôm nay và ngày mai viết lại mới
Tạo [hoặc thay thế] kèo bóng đá hôm nay và ngày maitên
như trênSự kiện
đếnTable_Name
[WHEREđiều kiện
]lệnh
| (lệnh
;lệnh
...)WHERESự kiện
có thể là một trong số:Chọn | Chèn |
Tạo kèo bóng đá hôm nay và ngày mai
Xác định kèo bóng đá hôm nay và ngày mai mới áp dụng cho bảng hoặc chế độ xem được chỉ định.Tạo hoặc thay thế kèo bóng đá hôm nay và ngày mai
sẽ tạo một kèo bóng đá hôm nay và ngày mai mới hoặc thay thế một kèo bóng đá hôm nay và ngày mai hiện có cùng tên cho cùng một bảng.
ThePostgreSQLHệ thống kèo bóng đá hôm nay và ngày mai cho phép người ta xác định một hành động thay thế được thực hiện trên các phần chèn, cập nhật hoặc xóa trong các bảng cơ sở dữ liệu. Nói một cách thô bạo, một kèo bóng đá hôm nay và ngày mai khiến các lệnh bổ sung được thực thi khi một lệnh nhất định trên một bảng nhất định được thực thi.Thay vào đó
kèo bóng đá hôm nay và ngày mai có thể thay thế một lệnh đã cho bằng cách khác hoặc gây ra lệnh không được thực thi. Các kèo bóng đá hôm nay và ngày mai được sử dụng để thực hiện các chế độ xem SQL là tốt.Chương 39.
Hiện tại,ON CHỌN
Các kèo bóng đá hôm nay và ngày mai chỉ có thể được đính kèm với các chế độ xem. kèo bóng đá hôm nay và ngày mai như vậy phải được đặt tên"_return"
, phải là một điều kiện vô điều kiệnThay vào đó
kèo bóng đá hôm nay và ngày mai và phải có một hành động bao gồm mộtChọn
lệnh. Lệnh này xác định nội dung có thể nhìn thấy của chế độ xem.Tạo hoặc thay thế kèo bóng đá hôm nay và ngày mai "_return" là ...
, sử dụng kiểu tốt hơnTạo hoặc thay thế Xem
.
Bạn có thể tạo ảo giác về chế độ xem cập nhật bằng cách xác địnhtrên chèn
, trên cập nhật
vàKhi xóa
kèo bóng đá hôm nay và ngày mai (hoặc bất kỳ tập hợp con nào đủ cho mục đích của bạn) để thay thế các hành động cập nhật trên chế độ xem bằng các bản cập nhật phù hợp trên các bảng khác. Nếu bạn muốn hỗ trợChèn trả về
và cứ thế, sau đó chắc chắn đặt một phù hợpTrở về
mệnh đề vào từng kèo bóng đá hôm nay và ngày mai này.
Có một sự bắt nếu bạn cố gắng sử dụng các kèo bóng đá hôm nay và ngày mai có điều kiện để cập nhật chế độ xem phức tạp: Cóphảilà một người vô điều kiệnThay vào đó
kèo bóng đá hôm nay và ngày mai cho mỗi hành động bạn muốn cho phép trên chế độ xem. Nếu kèo bóng đá hôm nay và ngày mai là có điều kiện hoặc khôngThay vào đó
, thì hệ thống vẫn sẽ từ chối các nỗ lực thực hiện hành động cập nhật, bởi vì nó nghĩ rằng cuối cùng nó có thể đang cố gắng thực hiện hành động trên bảng giả của chế độ xem trong một số trường hợp. Nếu bạn muốn xử lý tất cả các trường hợp hữu ích trong các kèo bóng đá hôm nay và ngày mai có điều kiện, hãy thêm một vô điều kiệnDo thay vào đó không có gì
kèo bóng đá hôm nay và ngày mai để đảm bảo rằng hệ thống hiểu rằng nó sẽ không bao giờ được gọi để cập nhật bảng giả. Sau đó làm cho các kèo bóng đá hôm nay và ngày mai có điều kiện khôngThay vào đó
; Trong các trường hợp chúng được áp dụng, chúng thêm vào mặc địnhThay vào đó không có gì
Hành động. (Phương pháp này hiện không hoạt động để hỗ trợTrở về
Truy vấn, tuy nhiên.)
Một chế độ xem đủ đơn giản để tự động cập nhật (xemTạo chế độ xem) Không yêu cầu kèo bóng đá hôm nay và ngày mai do người dùng tạo để cập nhật. Mặc dù bạn có thể tạo một kèo bóng đá hôm nay và ngày mai rõ ràng dù sao, chuyển đổi cập nhật tự động nói chung sẽ vượt trội hơn một kèo bóng đá hôm nay và ngày mai rõ ràng.
Một giải pháp thay thế khác đáng xem xét là sử dụngthay vì
Triggers (xemTạo Trigger) thay cho các kèo bóng đá hôm nay và ngày mai.
tên
Tên của một kèo bóng đá hôm nay và ngày mai để tạo. Điều này phải khác biệt với tên của bất kỳ kèo bóng đá hôm nay và ngày mai nào khác cho cùng một bảng.
Sự kiện
Sự kiện này là một trong nhữngChọn
, Chèn
, XÓA BỎ
hoặcXóa
. Lưu ý rằng mộtChèn
chứatrên xung đột
mệnh đề không thể được sử dụng trên các bảng cóChèn
hoặcXÓA BỎ
kèo bóng đá hôm nay và ngày mai. Thay vào đó xem xét sử dụng chế độ xem cập nhật.
Table_Name
Tên (tùy chọn Lược đồ theo trình độ) của bảng hoặc xem kèo bóng đá hôm nay và ngày mai áp dụng cho.
điều kiện
AnySQLBiểu thức có điều kiện (trả vềBoolean
). Biểu thức điều kiện không thể tham khảo bất kỳ bảng nào ngoại trừmới
vàcũ
, và không thể chứa các hàm tổng hợp.
Thay vào đó
Thay vào đó
cho biết các lệnh phải được thực thithay vìLệnh ban đầu.
cũng
cũng
cho biết các lệnh phải được thực thiNgoàilệnh gốc.
nếu khôngcũng
NorThay vào đó
được chỉ định,Ngoài ra
là mặc định.
lệnh
lệnh hoặc lệnh tạo nên hành động kèo bóng đá hôm nay và ngày mai. Các lệnh hợp lệ làChọn
, Chèn
, XÓA BỎ
, Xóa
hoặcThông báo
.
trongđiều kiện
vàlệnh
, Tên bảng đặc biệtmới
vàcũ
có thể được sử dụng để tham khảo các giá trị trong bảng được tham chiếu.mới
có giá trị trongtrên chèn
vàtrên cập nhật
kèo bóng đá hôm nay và ngày mai tham khảo hàng mới được chèn hoặc cập nhật.cũ
có giá trị trongtrên cập nhật
vàKhi xóa
kèo bóng đá hôm nay và ngày mai tham khảo hàng hiện tại được cập nhật hoặc xóa.
Bạn phải là chủ sở hữu của bảng để tạo hoặc thay đổi kèo bóng đá hôm nay và ngày mai cho nó.
Trong một kèo bóng đá hôm nay và ngày mai choChèn
, XÓA BỎ
hoặcXóa
Khi xem, bạn có thể thêm ATrở về
mệnh đề phát ra các cột của chế độ xem. Mệnh đề này sẽ được sử dụng để tính toán các đầu ra nếu kèo bóng đá hôm nay và ngày mai được kích hoạt bởichèn trả về
, XÓA BỎ trả về
hoặcXóa trả về
Lệnh tương ứng. Khi kèo bóng đá hôm nay và ngày mai được kích hoạt bởi một lệnh không cóTrở về
, kèo bóng đá hôm nay và ngày maiTrở về
mệnh đề sẽ bị bỏ qua. Việc triển khai hiện tại chỉ cho phép vô điều kiệnThay vào đó
kèo bóng đá hôm nay và ngày mai để chứaTrở về
; Hơn nữa có thể có nhiều nhất mộtTrở về
Điều khoản trong số tất cả các kèo bóng đá hôm nay và ngày mai cho cùng một sự kiện. (Điều này đảm bảo rằng chỉ có một ứng cử viênTrở về
mệnh đề được sử dụng để tính toán kết quả.)Trở về
Truy vấn trên chế độ xem sẽ bị từ chối nếu không cóTrở về
mệnh đề trong bất kỳ kèo bóng đá hôm nay và ngày mai có sẵn nào.
Điều rất quan trọng là phải cẩn thận để tránh các kèo bóng đá hôm nay và ngày mai tròn. Ví dụ: mặc dù hai định nghĩa kèo bóng đá hôm nay và ngày mai sau đây được chấp nhận bởiPostgreSQL, TheChọn
lệnh sẽ gây raPostgreSQLĐể báo cáo lỗi vì sự mở rộng đệ quy của một kèo bóng đá hôm nay và ngày mai:
Tạo kèo bóng đá hôm nay và ngày mai "_return" như
Hiện tại, nếu hành động kèo bóng đá hôm nay và ngày mai chứaThông báo
lệnh, TheThông báo
Lệnh sẽ được thực thi vô điều kiện, nghĩa làThông báo
sẽ được cấp ngay cả khi không có bất kỳ hàng nào mà kèo bóng đá hôm nay và ngày mai nên áp dụng. Ví dụ: trong:
Tạo kèo bóng đá hôm nay và ngày mai thông báo_me như trên cập nhật cho mytable cũng thông báo cho mytable;
mộtThông báo
Sự kiện sẽ được gửi trong thời gianXÓA BỎ
, Cho dù có bất kỳ hàng nào phù hợp với điều kiệnid = 42
. Đây là một hạn chế thực hiện có thể được khắc phục trong các bản phát hành trong tương lai.
Tạo kèo bóng đá hôm nay và ngày mai
là APostgreSQLMở rộng ngôn ngữ, cũng như toàn bộ hệ thống viết lại truy vấn.
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ớpMẫu nàyĐể báo cáo vấn đề tài liệu.