Postgresql 9.1.24 Tài liệu | ||||
---|---|---|---|---|
Prev | UP | Chương 37. Hệ thống kèo chấp bóng đá hôm nay | Tiếp theo |
chế độ kèo chấp bóng đá hôm nay trongPostgreSQLlà được thực hiện bằng cách sử dụng hệ thống kèo chấp bóng đá hôm nay. Trên thực tế, về cơ bản có Không có sự khác biệt giữa:
Tạo kèo chấp bóng đá hôm nay myView là chọn * từ mytab;
so với hai lệnh:
Tạo bảng MyView (cùng danh sách cột với MyTab); Tạo kèo chấp bóng đá hôm nay "_return" như trên chọn vào myView do thay thế Chọn * từ mytab;
Bởi vì đây chính xác là những gìTạo kèo chấp bóng đá hôm nayLệnh làm nội bộ. Điều này có một số tác dụng phụ. Một trong số đó là thông tin về chế độ kèo chấp bóng đá hôm nay trongPostgreSQLDanh mục hệ kèo chấp bóng đá hôm nay là Chính xác giống như nó cho một bảng. Vì vậy, đối với trình phân tích cú pháp, ở đó hoàn toàn không có sự khác biệt giữa một bảng và một cái nhìn. Họ là Điều tương tự: quan hệ.
kèo chấp bóng đá hôm naytrên Chọnđược áp dụng cho tất cả Truy vấn là bước cuối cùng, ngay cả khi lệnh được đưa ra làChèn, Cập nhậthoặcXóa. Và Họ có các ngữ nghĩa khác nhau từ các kèo chấp bóng đá hôm nay trên lệnh khác Các loại trong đó họ sửa đổi cây truy vấn tại chỗ thay vì Tạo một cái mới. Vì thếChọnkèo chấp bóng đá hôm nay được mô tả đầu tiên.
Hiện tại, chỉ có thể có một hành động trong mộtON CHỌNkèo chấp bóng đá hôm nay và nó phải là một điều vô điều kiệnChọnhành động đó làThay kèo chấp bóng đá hôm nayo đó. Hạn chế này được yêu cầu để thực hiện Các kèo chấp bóng đá hôm nay đủ an toàn để mở chúng cho người dùng thông thường và nó Hạn chếON CHỌNkèo chấp bóng đá hôm nay hành động như chế độ xem.
Ví dụ cho chương này là hai lượt xem tham gia Một số tính toán và một số quan điểm khác sử dụng chúng lần lượt. Một của hai chế độ xem đầu tiên được tùy chỉnh sau bằng cách thêm kèo chấp bóng đá hôm nay choChèn, Cập nhật13122_13130XóaHoạt động để kết quả cuối cùng sẽ là một quan điểm hoạt động Giống như một bảng thực sự với một số chức năng ma thuật. Đây không phải là Một ví dụ đơn giản như vậy để bắt đầu và điều này làm cho mọi thứ Khó hơn để kèo chấp bóng đá hôm nayo. Nhưng tốt hơn là có một ví dụ bao gồm tất cả các điểm được thảo luận từng bước thay vì có nhiều cái khác nhau có thể trộn lẫn trong tâm trí.
Ví dụ, chúng ta cần một chútminHàm trả về thấp hơn của 2 Số nguyên giá trị. Chúng tôi tạo ra nó như:
Tạo hàm tối thiểu (số nguyên, số nguyên) trả về số nguyên dưới dạng $$ Chọn trường hợp khi $ 1 <$ 2 sau đó $ 1 khác $ 2 kết thúc $$ ngôn ngữ sql nghiêm ngặt;
Các bảng thực sự chúng ta cần trong hai hệ thống kèo chấp bóng đá hôm nay đầu tiên Mô tả là:
Tạo bảng giày_data ( Văn bản Shoename, - Khóa chính Số nguyên Sh_avail, - Số cặp có sẵn văn bản slcolor, - màu dây giày ưa thích slminlen real, - chiều dài dây giày tối thiểu slmaxlen real, - chiều dài dây giày tối đa văn bản slunit - đơn vị chiều dài ); Tạo bảng Shoelace_Data ( Text SL_NAME, - Khóa chính Số nguyên SL_AVAIL, - Số cặp có sẵn SL_COLOR Text, - Màu sắc Shoelace sl_len real, - chiều dài dây giày SL_UNIT Text - Đơn vị chiều dài ); Tạo đơn vị bảng ( un_name văn bản, - khóa chính un_fact real - yếu tố chuyển đổi thành cm );
Như bạn có thể thấy, chúng đại diện cho dữ liệu cửa hàng giày.
Các chế độ kèo chấp bóng đá hôm nay được tạo là:
Tạo giày kèo chấp bóng đá hôm nay AS Chọn Sh.Shoename, sh.sh_avail, sh.slcolor, sh.slminlen, sh.slminlen * un.un_fact dưới dạng slminlen_cm, sh.slmaxlen, sh.slmaxlen * un.un_fact dưới dạng slmaxlen_cm, Sh.Slunit Từ giày_data sh, unit un Trong đó sh.slunit = un.un_name; Tạo Chế độ kèo chấp bóng đá hôm nay Shoelace như Chọn S.SL_NAME, s.sl_avail, s.sl_color, s.sl_len, s.sl_unit, S.SL_LEN * U.UN_FACT AS SL_LEN_CM Từ shoelace_data s, đơn vị u Trong đó s.sl_unit = u.un_name; Tạo kèo chấp bóng đá hôm nay giày_ready AS Chọn rsh.shoename, rsh.sh_avail, rsl.sl_name, rsl.sl_avail, tối thiểu (rsh.sh_avail, rsl.sl_avail) dưới dạng TOTAL_AVAIL Từ RSH giày, dây giày RSL WHERE RSL.SL_COLOR = RSH.SLCOLOR Và rsl.sl_len_cm = rsh.slminlen_cm Và rsl.sl_len_cm <= rsh.slmaxlen_cm;
TheTạo chế độ kèo chấp bóng đá hôm naylệnh choShoelacekèo chấp bóng đá hôm nay (đây là đơn giản nhất một chúng ta có) sẽ tạo ra một mối quan hệShoelacevà một mục nhập trongPG_REWRITEĐiều đó cho biết rằng có một bản viết lại kèo chấp bóng đá hôm nay phải được áp dụng bất cứ khi nào quan hệShoelaceđược tham chiếu trong bảng phạm vi của một truy vấn. kèo chấp bóng đá hôm nay không có trình độ kèo chấp bóng đá hôm nay (thảo luận sau, với khôngChọnkèo chấp bóng đá hôm nay, kể từChọnkèo chấp bóng đá hôm nay hiện không có chúng) và nó làThay kèo chấp bóng đá hôm nayo đó. Lưu ý rằng kèo chấp bóng đá hôm nay đó Trình độ chuyên môn không giống như trình độ truy vấn. Các Hành động của kèo chấp bóng đá hôm nay của chúng tôi có trình độ truy vấn. Hành động của kèo chấp bóng đá hôm nay là một cây truy vấn là bản sao củaChọnTuyên bố trong Tạo quan điểm yêu cầu.
Lưu ý:Hai mục bảng phạm vi bổ sung chonewvàcũmà bạn có thể thấy trongPG_REWRITEmục nhập không quan tâm choChọnkèo chấp bóng đá hôm nay.
Bây giờ chúng tôi dân cưĐơn vị, giày_datavàShoelace_datavà chạy một truy vấn đơn giản trên A kèo chấp bóng đá hôm nay:
Chèn kèo chấp bóng đá hôm nayo các giá trị đơn vị ('cm', 1.0); Chèn kèo chấp bóng đá hôm nayo các giá trị đơn vị ('m', 100.0); Chèn kèo chấp bóng đá hôm nayo các giá trị đơn vị ('inch', 2.54); Chèn kèo chấp bóng đá hôm nayo giá trị giày_data ('sh1', 2, 'đen', 70.0, 90.0, 'cm'); Chèn kèo chấp bóng đá hôm nayo giá trị giày_data ('sh2', 0, 'đen', 30.0, 40.0, 'inch'); Chèn kèo chấp bóng đá hôm nayo giá trị giày_data ('sh3', 4, 'brown', 50.0, 65.0, 'cm'); Chèn kèo chấp bóng đá hôm nayo giá trị giày_data ('sh4', 3, 'brown', 40.0, 50.0, 'inch'); Chèn kèo chấp bóng đá hôm nayo các giá trị shoelace_data ('SL1', 5, 'đen', 80.0, 'cm'); Chèn kèo chấp bóng đá hôm nayo các giá trị shoelace_data ('SL2', 6, 'đen', 100.0, 'cm'); Chèn kèo chấp bóng đá hôm nayo các giá trị shoelace_data ('SL3', 0, 'đen', 35.0, 'inch'); Chèn kèo chấp bóng đá hôm nayo các giá trị shoelace_data ('SL4', 8, 'đen', 40.0, 'inch'); Chèn kèo chấp bóng đá hôm nayo các giá trị shoelace_data ('SL5', 4, 'nâu', 1.0, 'm'); Chèn kèo chấp bóng đá hôm nayo các giá trị shoelace_data ('sl6', 0, 'brown', 0.9, 'm'); Chèn kèo chấp bóng đá hôm nayo các giá trị shoelace_data ('sl7', 7, 'brown', 60, 'cm'); Chèn kèo chấp bóng đá hôm nayo các giá trị shoelace_data ('SL8', 1, 'nâu', 40, 'inch'); Chọn * từ Shoelace; SL_NAME | SL_AVAIL | SL_COLOR | SL_LEN | SL_Unit | SL_LEN_CM -----------+----------+----------+--------+----------+----------- SL1 | 5 | Đen | 80 | cm | 80 SL2 | 6 | Đen | 100 | cm | 100 SL7 | 7 | Màu nâu | 60 | cm | 60 SL3 | 0 | Đen | 35 | inch | 88.9 SL4 | 8 | Đen | 40 | inch | 101.6 SL8 | 1 | Màu nâu | 40 | inch | 101.6 SL5 | 4 | Màu nâu | 1 | m | 100 SL6 | 0 | Màu nâu | 0,9 | m | 90 (8 hàng)
Đây là đơn giản nhấtChọnBạn có thể làm theo quan điểm của chúng tôi, vì vậy chúng tôi nhân cơ hội này để giải thích Khái niệm cơ bản của các kèo chấp bóng đá hôm nay xem. TheChọn * Từ Shoelaceđã được trình phân tích cú pháp giải thích và sản xuất Cây truy vấn:
Chọn Shoelace.SL_NAME, SHOELACE.SL_AVAIL, Shoelace.SL_Color, Shoelace.SL_LEN, Shoelace.SL_Unit, Shoelace.SL_LEN_CM Từ dây giày Shoelace;
Và điều này được đưa ra cho hệ thống kèo chấp bóng đá hôm nay. Hệ thống kèo chấp bóng đá hôm nay đi bộ thông qua bảng phạm vi và kiểm tra xem có kèo chấp bóng đá hôm nay cho bất kỳ mối quan hệ. Khi xử lý mục nhập bảng phạm vi choShoelace(người duy nhất cho đến bây giờ) nó tìm thấy_returnkèo chấp bóng đá hôm nay với cây truy vấn:
Chọn S.SL_NAME, S.SL_AVAIL, s.sl_color, s.sl_len, s.sl_unit, S.SL_LEN * U.UN_FACT AS SL_LEN_CM Từ Shoelace cũ, Shoelace Mới, shoelace_data s, đơn vị u Trong đó s.sl_unit = U.un_name;
Để mở rộng chế độ xem, người viết lại chỉ cần tạo một truy vấn con Mục nhập bảng phạm vi chứa cây truy vấn hành động của kèo chấp bóng đá hôm nay và thay thế mục nhập bảng phạm vi này cho cái ban đầu tham chiếu quan điểm. Cây truy vấn viết lại kết quả là gần như giống như khi bạn đã gõ:
Chọn Shoelace.SL_NAME, SHOELACE.SL_AVAIL, Shoelace.SL_Color, Shoelace.SL_LEN, Shoelace.SL_Unit, Shoelace.SL_LEN_CM Từ (chọn s.sl_name, s.sl_avail, s.sl_color, s.sl_len, s.sl_unit, S.SL_LEN * U.UN_FACT AS SL_LEN_CM Từ shoelace_data s, đơn vị u Trong đó s.sl_unit = U.un_name) Shoelace;
Tuy nhiên có hai mục bổ sungShoelace OldvàShoelace mới. Những mục này không tham gia trực tiếp vào truy vấn, vì chúng không được tham chiếu bởi cây tham gia hoặc danh sách mục tiêu của Subquery. Các công cụ viết lại sử dụng họ để lưu trữ thông tin kiểm tra đặc kèo chấp bóng đá hôm nayền truy cập ban đầu có mặt trong mục nhập bảng phạm vi tham chiếu xem. Theo cách này, người thực thi vẫn sẽ kiểm tra xem người dùng có có các đặc kèo chấp bóng đá hôm nayền thích hợp để truy cập chế độ xem, mặc dù có Không sử dụng trực tiếp chế độ xem trong truy vấn viết lại.
Đó là kèo chấp bóng đá hôm nay đầu tiên được áp dụng. Hệ thống kèo chấp bóng đá hôm nay sẽ Tiếp tục kiểm tra các mục bảng phạm vi còn lại ở trên cùng truy vấn (trong ví dụ này không còn Kiểm tra đệ quy các mục nhập bảng trong trình điều khiển con được thêm vào Để xem nếu có bất kỳ trong số họ quan điểm tham khảo. (Nhưng nó sẽ không mở rộngcũhoặcmới- nếu không, chúng ta sẽ có đệ quy vô hạn!) Trong ví dụ này, ở đó không phải là kèo chấp bóng đá hôm nay viết lại choShoelace_datahoặcĐơn vị, vì vậy việc viết lại đã hoàn tất và Trên đây là kết quả cuối cùng được cung cấp cho người lập kế hoạch.
Bây giờ chúng tôi muốn viết một truy vấn tìm ra đôi giày nào Hiện tại trong cửa hàng, chúng tôi có dây giày phù hợp (màu và chiều dài) và nơi tổng số khớp chính xác các cặp lớn hơn hoặc bằng hai.
Chọn * từ giày_ready trong đó Total_avail = 2; Tên ShoenSy | sh_avail | SL_NAME | SL_AVAIL | Total_avail ----------+----------+----------+----------+------------- Sh1 | 2 | SL1 | 5 | 2 Sh3 | 4 | SL7 | 7 | 4 (2 hàng)
Đầu ra của trình phân tích cú pháp lần này là cây truy vấn:
22774_22972
kèo chấp bóng đá hôm nay đầu tiên được áp dụng sẽ là cái choShoe_Readykèo chấp bóng đá hôm nay và nó dẫn đến truy vấn cây:
23152_23692
Tương tự, các kèo chấp bóng đá hôm nay chogiàyvàShoelaceđược thay thế kèo chấp bóng đá hôm nayo Bảng phạm vi của phụ, dẫn đến trận chung kết ba cấp Cây truy vấn:
23943_25206
Hóa ra người lập kế hoạch sẽ thu gọn cây này thành a Cây truy vấn hai cấp: The BottommostChọnlệnh sẽ là"Kéo lên"kèo chấp bóng đá hôm nayo giữaChọnVì không cần phải xử lý chúng riêng. Nhưng giữaChọnWill vẫn tách biệt với đầu, vì nó chứa tổng hợp chức năng. Nếu chúng ta kéo chúng lên, nó sẽ thay đổi hành vi của đỉnh caoChọn, mà chúng ta không muốn. Tuy nhiên, việc sụp đổ cây truy vấn là một tối ưu hóa rằng hệ kèo chấp bóng đá hôm nay viết lại không phải quan tâm đến chính nó với.
Hai chi tiết của cây truy vấn không được chạm vào Mô tả các kèo chấp bóng đá hôm nay xem ở trên. Đây là loại lệnh và mối quan hệ kết quả. Trên thực tế, loại lệnh không cần thiết bởi Xem các kèo chấp bóng đá hôm nay, nhưng mối quan hệ kết quả có thể ảnh hưởng đến cách thức mà Truy vấn viết lại hoạt động, bởi vì cần phải chăm sóc đặc biệt thực hiện nếu mối quan hệ kết quả là một chế độ xem.
Chỉ có một kèo chấp bóng đá hôm nayi sự khác biệt giữa một cây truy vấn cho AChọnvà một cho bất kỳ lệnh nào khác. Rõ ràng, họ có một loại lệnh khác và cho một lệnh Khác với AChọn, kết quả quan hệ chỉ ra mục nhập bảng phạm vi nơi kết quả nên đi. Mọi thứ khác hoàn toàn giống nhau. Vì vậy, có Hai bảngT1vàT2với các cộtAvàB, Cây truy vấn cho hai người Các câu lệnh:
Chọn T2.b từ T1, T2 trong đó t1.a = T2.a; CẬP NHẬT T1 Đặt B = T2.B từ T2 trong đó T1.A = T2.A;
gần như giống hệt nhau. Đặc biệt:
Các bảng phạm vi chứa các mục cho các bảngT1vàT2.
Danh sách mục tiêu chứa một biến chỉ ra CộtBcủa mục nhập bảng phạm vi cho bảngT2.
Biểu thức đủ điều kiện so sánh các cộtAcủa cả hai mục bảng phạm vi cho Bình đẳng.
Cây tham gia hiển thị sự kết nối đơn giản giữaT1vàT2.
Hậu quả là cả hai cây truy vấn đều dẫn đến tương tự Kế hoạch thực thi: cả hai đều tham gia trên hai bảng. Vì TheCập nhậtCác cột bị thiếu từT1được thêm kèo chấp bóng đá hôm nayo danh sách mục tiêu bởi Người lập kế hoạch và cây truy vấn cuối cùng sẽ đọc là:
Cập nhật T1 Đặt A = T1.A, B = T2.B từ T2 trong đó T1.A = T2.A;
Và do đó, người thực thi chạy qua tham gia sẽ tạo ra chính xác Kết quả tương tự được đặt như:
Chọn T1.A, T2.b từ T1, T2 trong đó T1.A = T2.A;
Nhưng có một chút vấn đề trongCập nhật: Phần của kế hoạch thực thi Sự tham gia không quan tâm kết quả từ sự tham gia có nghĩa là gì vì. Nó chỉ tạo ra một tập hợp kết quả của các hàng. Thực tế là một là AChọnlệnh và lệnh khác là MỘTCập nhậtđược xử lý cao hơn trong người thực thi, nơi nó biết rằng đây là mộtCập nhậtvà nó biết rằng kết quả này sẽ đi kèo chấp bóng đá hôm nayo bảngT1. Nhưng những hàng nào đó phải được thay thế bằng hàng mới?
Để giải kèo chấp bóng đá hôm nayết vấn đề này, một mục nhập khác được thêm vào Danh sách mục tiêu trongCập nhật(và cả trongXóa) NHẬN DẠNG (CTID). Đây là một hệ kèo chấp bóng đá hôm nay cột chứa số khối tệp và vị trí trong chặn cho hàng. Biết bảng,CTIDcó thể được sử dụng để lấy bản gốc Hàng củaT1được cập nhật. Sau khi thêm TheCTIDđến danh sách đích, Truy vấn thực sự trông giống như:
Chọn T1.A, T2.B, T1.CTID từ T1, T2 trong đó T1.A = T2.A;
Bây giờ là một chi tiết khác củaPostgreSQLBước kèo chấp bóng đá hôm nayo giai đoạn. Bàn cũ hàng không được ghi đè và đây là lý do tại saorollbacklà nhanh. Trong mộtCập nhật, Hàng kết quả mới được chèn kèo chấp bóng đá hôm nayo bảng (sau khi tướcCTID) và trong tiêu đề hàng của hàng cũ, màCTIDchỉ kèo chấp bóng đá hôm nayo, TheCMAXvàxmaxMục được đặt thành lệnh hiện tại Bộ đếm và ID giao dịch hiện tại. Do đó hàng cũ được ẩn, Và sau khi giao dịch cam kết, máy hút bụi có thể cuối cùng loại bỏ hàng chết.
Biết tất cả những điều đó, chúng ta chỉ có thể áp dụng các kèo chấp bóng đá hôm nay xem trong Hoàn toàn giống nhau với bất kỳ lệnh nào. Không có sự khác biệt.
Trên đây cho thấy cách hệ thống kèo chấp bóng đá hôm nay kết hợp chế độ xem Định nghĩa vào cây truy vấn ban đầu. Trong lần thứ hai Ví dụ, một đơn giảnChọnTừ một chế độ kèo chấp bóng đá hôm nay đã tạo một cây truy vấn cuối cùng là tham gia 4 bảng (Đơn vịĐã được sử dụng hai lần với khác nhau tên).
Lợi ích của việc thực hiện các quan điểm với hệ thống kèo chấp bóng đá hôm nay là, rằng người lập kế hoạch có tất cả thông tin về bảng nào phải được quét cộng với các mối quan hệ giữa các bảng này cộng với trình độ hạn chế từ các lượt xem cộng với trình độ từ truy vấn ban đầu trong một truy vấn duy nhất cây. Và đây vẫn là tình huống khi truy vấn ban đầu đã được tham gia qua các lượt xem. Người lập kế hoạch phải quyết định cái nào là con đường tốt nhất để thực hiện truy vấn và càng nhiều thông tin Người lập kế hoạch có, quyết định này càng tốt. Và kèo chấp bóng đá hôm nay hệ thống như được triển khai trongPostgreSQLĐảm bảo rằng đây là tất cả thông tin có sẵn về truy vấn cho đến điểm đó.
Điều gì xảy ra nếu chế độ kèo chấp bóng đá hôm nay được đặt tên là mối quan hệ đích cho MỘTChèn, Cập nhậthoặcXóa? Chỉ đơn giản là thực hiện các thay thế được mô tả ở trên sẽ đưa ra một Truy vấn cây trong đó mối quan hệ kết quả chỉ kèo chấp bóng đá hôm nayo một truy vấn con Mục nhập bảng, sẽ không hoạt động. Thay kèo chấp bóng đá hôm nayo đó, người viết lại Giả sử rằng hoạt động sẽ được xử lý bởi mộtthay vìTrigger trên chế độ kèo chấp bóng đá hôm nay. (Nếu không có Kích hoạt như vậy, người thực thi sẽ bị lỗi khi thực thi Bắt đầu.) Viết lại hoạt động hơi khác nhau trong trường hợp này. VìChèn, người viết lại không làm gì ở tất cả với quan điểm, để lại nó là mối quan hệ kết quả cho truy vấn. VìCập nhậtvàXóa, vẫn cần phải mở rộng chế độ kèo chấp bóng đá hôm nay truy vấn để sản xuất"cũ"hàng đó Lệnh sẽ cố gắng cập nhật hoặc xóa. Vì vậy, quan điểm là Mở rộng như bình thường, nhưng một mục bảng phạm vi chưa được mở rộng khác là thêm kèo chấp bóng đá hôm nayo truy vấn để thể hiện quan điểm trong khả năng của nó là mối quan hệ kết quả.
Vấn đề hiện đang phát sinh là làm thế nào để xác định các hàng để được cập nhật trong chế độ kèo chấp bóng đá hôm nay. Nhớ lại rằng khi mối quan hệ kết quả là một bảng, một đặc biệtCTIDMục nhập được thêm vào danh sách mục tiêu để xác định vật lý Vị trí của các hàng sẽ được cập nhật. Điều này không hoạt động nếu mối quan hệ kết quả là một chế độ kèo chấp bóng đá hôm nay, bởi vì một chế độ kèo chấp bóng đá hôm nay không có bất kỳCTID, vì các hàng của nó không có vị trí vật lý thực tế. Thay kèo chấp bóng đá hôm nayo đó, cho mộtCập nhậthoặcXóaHoạt động, đặc biệtWholerowMục nhập là được thêm kèo chấp bóng đá hôm nayo danh sách đích, mở rộng để bao gồm tất cả các cột từ quan điểm. Người thực thi sử dụng giá trị này để cung cấp"cũ"hàng đếnthay vìTrigger. Nó tùy thuộc kèo chấp bóng đá hôm nayo kích hoạt để Xây dựng những gì để cập nhật dựa trên hàng cũ và mới giá trị.
Nếu không cóthay vìTriggers Để cập nhật chế độ xem, người thực thi sẽ gây ra lỗi, bởi vì Nó không thể tự động cập nhật chế độ xem. Để thay đổi Điều này, chúng ta có thể xác định các kèo chấp bóng đá hôm nay sửa đổi hành vi củaChèn, Cập nhậtvàXóalệnh trên chế độ xem. Các kèo chấp bóng đá hôm nay này sẽ viết lại lệnh, thường thành một lệnh cập nhật một hoặc nhiều bảng, thay vì quan điểm. Đó là chủ đề của phần tiếp theo.
Lưu ý rằng các kèo chấp bóng đá hôm nay được đánh giá trước, viết lại bản gốc Truy vấn trước khi nó được lên kế hoạch và thực hiện. Do đó, nếu một chế độ xem cóthay vìTriggers cũng như kèo chấp bóng đá hôm nay trênChèn, Cập nhậthoặcXóa, sau đó Các kèo chấp bóng đá hôm nay sẽ được đánh giá đầu tiên và tùy thuộc vào kết quả, Các trình kích hoạt hoàn toàn không được sử dụng.