Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

tỷ lệ kèo bóng đá

Tạo Trigger - Xác định trình kích tỷ lệ kèo bóng đá mới

Synopsis

tỷ lệ kèo bóng đá [hoặc thay thế] [ràng buộc] Triggertêntrước | Sau | Thay vìSự kiện[hoặc ...]
    TRÊNTable_Name[từtham chiếu_table_name]
    [Không thể bảo vệ | [Có thể bảo vệ] [Ban đầu ngay lập tức | Ban đầu bị trì hoãn]]
    [Tham khảo cũ | Mới bảng [as]transition_relation_name[...]]
    [Cho [mỗi] hàng | TUYÊN BỐ  ]
    [ KHI (điều kiện)]]
    Thực thi function | THỦ TỤCfunction_name(Đối số)WHERESự kiệncó thể là một trong số:Chèn
    Cập nhật [củaCột_name[, ...]]
    XÓA BỎ
    Cắt ngắn

Mô tả

tỷ lệ kèo bóng đáTạo trình kích tỷ lệ kèo bóng đá mới.tỷ lệ kèo bóng đá hoặc thay thế Triggersẽ tạo một trình kích tỷ lệ kèo bóng đá mới hoặc thay thế một trình kích tỷ lệ kèo bóng đá hiện có. Trình kích tỷ lệ kèo bóng đá sẽ được liên kết với bảng, chế độ xem hoặc bảng nước ngoài được chỉ định và sẽ thực thi chức năng được chỉ địnhfunction_nameKhi các tỷ lệ kèo bóng đá động nhất định được thực hiện trên bảng đó.

Để thay thế định nghĩa hiện tại của trình kích tỷ lệ kèo bóng đá hiện có, sử dụngTạo hoặc thay thế kích tỷ lệ kèo bóng đá, Chỉ định tên và bảng cha của trình kích tỷ lệ kèo bóng đá hiện có. Tất cả các thuộc tính khác được thay thế.

Trình kích tỷ lệ kèo bóng đá có thể được chỉ định để bắn trước khi tỷ lệ kèo bóng đá động được thử trên một hàng (trước khi các ràng buộc được kiểm tra vàChèn, Cập nhậthoặcXóađược cố gắng); hoặc sau khi tỷ lệ kèo bóng đá động hoàn thành (sau khi các ràng buộc được kiểm tra vàChèn, Cập nhậthoặcXóađã hoàn thành); hoặc thay vì tỷ lệ kèo bóng đá động (trong trường hợp chèn, cập nhật hoặc xóa khi xem). Nếu kích tỷ lệ kèo bóng đá bắn trước hoặc thay vì sự kiện, kích tỷ lệ kèo bóng đá có thể bỏ qua tỷ lệ kèo bóng đá động cho hàng hiện tại hoặc thay đổi hàng được chèn (choChènCập nhậtChỉ tỷ lệ kèo bóng đá động). Nếu kích tỷ lệ kèo bóng đá bắn sau sự kiện, tất cả các thay đổi, bao gồm các tác động của các kích tỷ lệ kèo bóng đá khác, làCó thể nhìn thấyHồiđến kích tỷ lệ kèo bóng đá.

Một bộ kích tỷ lệ kèo bóng đá được đánh dấucho mỗi hàngđược gọi một lần cho mỗi hàng mà tỷ lệ kèo bóng đá động sửa đổi. Ví dụ: AXóaảnh hưởng đến 10 hàng sẽ gây ra bất kỳtrên xóaKích tỷ lệ kèo bóng đá về mối quan hệ mục tiêu được gọi là 10 lần riêng biệt, một lần cho mỗi hàng bị xóa. Ngược lại, một kích tỷ lệ kèo bóng đá được đánh dấuĐối với mỗi câuChỉ thực hiện một lần cho bất kỳ tỷ lệ kèo bóng đá động nào, bất kể nó sửa đổi bao nhiêu hàng (đặc biệt, một tỷ lệ kèo bóng đá động sửa đổi các hàng không vẫn sẽ dẫn đến việc thực hiện bất kỳ áp dụng nàoĐối với mỗi câuTriggers).

Trình kích tỷ lệ kèo bóng đá được chỉ định để bắnthay vìSự kiện kích tỷ lệ kèo bóng đá phải được đánh dấucho mỗi hàngvà chỉ có thể được xác định trên các lượt xem.trướcsauTrình kích tỷ lệ kèo bóng đá trên chế độ xem phải được đánh dấu làĐối với mỗi câu.

Ngoài ra, các kích tỷ lệ kèo bóng đá có thể được xác định để bắn chocắt ngắn, mặc dù chỉĐối với mỗi câu.

Bảng sau đây tóm tắt các loại kích tỷ lệ kèo bóng đá nào có thể được sử dụng trên các bảng, chế độ xem và bảng nước ngoài:

Khi Sự kiện cấp độ hàng cấp độ tuyên bố
trước Chèn/Cập nhật/Xóa Bảng và bảng nước ngoài Bảng, lượt xem và bảng nước ngoài
cắt ngắn - Bảng
sau Chèn/Cập nhật/Xóa Bảng và bảng nước ngoài Bảng, lượt xem và bảng nước ngoài
cắt ngắn - Bảng
thay vì Chèn/Cập nhật/Xóa chế độ xem -
cắt ngắn - -

Ngoài ra, một định nghĩa kích tỷ lệ kèo bóng đá có thể chỉ định booleanKhiĐiều kiện sẽ được kiểm tra để xem liệu có nên kích tỷ lệ kèo bóng đá hay không. Trong các kích tỷ lệ kèo bóng đá cấp hàngkhiĐiều kiện có thể kiểm tra các giá trị cũ và/hoặc mới của các cột của hàng. Trình kích tỷ lệ kèo bóng đá cấp câu lệnh cũng có thể cóKhiĐiều kiện, mặc dù tính năng này không hữu ích cho chúng vì điều kiện không thể đề cập đến bất kỳ giá trị nào trong bảng.

Nếu nhiều trình kích tỷ lệ kèo bóng đá cùng loại được xác định cho cùng một sự kiện, chúng sẽ được bắn theo thứ tự bảng chữ cái theo tên.

Khiràng buộcTùy chọn được chỉ định, lệnh này tỷ lệ kèo bóng đá raKích tỷ lệ kèo bóng đá ràng buộc.Điều này giống như trình kích tỷ lệ kèo bóng đá thông thường ngoại trừ thời gian bắn kích tỷ lệ kèo bóng đá có thể được điều chỉnh bằng cách sử dụngĐặt các ràng buộc. Kích tỷ lệ kèo bóng đá ràng buộc phải làsau hàngTrình kích tỷ lệ kèo bóng đá trên các bảng đơn giản (không phải bảng nước ngoài). Chúng có thể được sa thải vào cuối tuyên bố gây ra sự kiện kích tỷ lệ kèo bóng đá hoặc ở cuối giao dịch có chứa; Trong trường hợp sau, họ được cho làTrì hoãn. Một vụ bắn Truy nhập hoãn lại đang chờ xử lý cũng có thể bị buộc phải xảy ra ngay lập tức bằng cách sử dụngĐặt các ràng buộc. Kích tỷ lệ kèo bóng đá ràng buộc dự kiến ​​sẽ tăng một ngoại lệ khi các ràng buộc mà chúng thực hiện bị vi phạm.

TheTham khảoTùy chọn cho phép bộ sưu tậpQuan hệ chuyển tiếp, là các bộ hàng bao gồm tất cả các hàng được chèn, xóa hoặc sửa đổi bởi câu lệnh SQL hiện tại. Tính năng này cho phép kích tỷ lệ kèo bóng đá xem một cái nhìn toàn cầu về những gì tuyên bố đã làm, không chỉ một hàng tại một thời điểm. Tùy chọn này chỉ được phép cho mộtsauTrigger không phải là một kích tỷ lệ kèo bóng đá ràng buộc; Ngoài ra, nếu kích tỷ lệ kèo bóng đá làCập nhậtTrigger, nó không được chỉ địnhCột_nameDanh sách.Bảng cũchỉ có thể được chỉ định một lần và chỉ cho một kích tỷ lệ kèo bóng đá có thể bắn trênCập nhậthoặcXóa; nó tỷ lệ kèo bóng đá ra một quan hệ chuyển tiếp chứatrước khi-hìnhcủa tất cả các hàng được cập nhật hoặc xóa bởi câu lệnh. Tương tự,Bảng mớichỉ có thể được chỉ định một lần và chỉ cho một kích tỷ lệ kèo bóng đá có thể bắn trênCập nhậthoặcChèn; nó tỷ lệ kèo bóng đá ra một quan hệ chuyển tiếp chứasau khi hình ảnhcủa tất cả các hàng được cập nhật hoặc chèn bởi câu lệnh.

ChọnKhông sửa đổi bất kỳ hàng nào để bạn không thể tỷ lệ kèo bóng đáChọnTriggers. Các quy tắc và quan điểm có thể cung cấp các giải pháp khả thi cho các vấn đề dường như cầnChọnTriggers.

Tham khảoChương 39Để biết thêm thông tin về kích tỷ lệ kèo bóng đá.

tham số

tên

Tên để đưa ra trình kích tỷ lệ kèo bóng đá mới. Điều này phải khác biệt với tên của bất kỳ kích tỷ lệ kèo bóng đá nào khác cho cùng một bảng. Tên không thể được định mức lược đồ-kích tỷ lệ kèo bóng đá kế thừa lược đồ của bảng của nó. Đối với một kích tỷ lệ kèo bóng đá ràng buộc, đây cũng là tên để sử dụng khi sửa đổi hành vi của bộ kích tỷ lệ kèo bóng đá bằng cách sử dụngĐặt các ràng buộc.

trước
sau
thay vì

Xác định xem hàm được gọi trước, sau hoặc thay vì sự kiện. Trình kích tỷ lệ kèo bóng đá ràng buộc chỉ có thể được chỉ định làsau.

Sự kiện

một củaChèn, Cập nhật, Xóahoặccắt ngắn; Điều này chỉ định sự kiện sẽ kích tỷ lệ kèo bóng đá kích tỷ lệ kèo bóng đá. Nhiều sự kiện có thể được chỉ định bằng cách sử dụnghoặc, ngoại trừ khi yêu cầu quan hệ chuyển tiếp.

choCập nhậtSự kiện, có thể chỉ định danh sách các cột bằng cú pháp này:

Cập nhậtCột_name1[,Cột_name2...]

Trình kích tỷ lệ kèo bóng đá sẽ chỉ bắn nếu ít nhất một trong các cột được liệt kê được đề cập làm mục tiêu củaCập nhậtLệnh hoặc nếu một trong các cột được liệt kê là một cột được tỷ lệ kèo bóng đá phụ thuộc vào một cột là mục tiêu củaCập nhật.

Thay vì cập nhậtSự kiện không cho phép một danh sách các cột. Một danh sách cột không thể được chỉ định khi yêu cầu quan hệ chuyển tiếp.

Table_Name

22519_22616

tham chiếu_table_name

Tên (có thể là trình độ lược đồ) của một bảng khác được tham chiếu bởi ràng buộc. Tùy chọn này được sử dụng cho các ràng buộc của nước ngoài và không được khuyến nghị sử dụng chung. Điều này chỉ có thể được chỉ định cho các kích tỷ lệ kèo bóng đá ràng buộc.

có thể hoãn lại
23132_23148
Ban đầu ngay lập tức
Ban đầu trì hoãn

Thời gian mặc định của kích tỷ lệ kèo bóng đá. Xemtỷ lệ kèo bóng đá bảngTài liệu để biết chi tiết về các tùy chọn ràng buộc này. Điều này chỉ có thể được chỉ định cho các kích tỷ lệ kèo bóng đá ràng buộc.

Tham chiếu

Từ khóa này ngay trước khai báo của một hoặc hai tên quan hệ cung cấp quyền truy cập vào các quan hệ chuyển tiếp của câu lệnh kích tỷ lệ kèo bóng đá.

Bảng cũ
Bảng mới

24098_24241

transition_relation_name

Tên (không đủ tiêu chuẩn) được sử dụng trong trình kích tỷ lệ kèo bóng đá cho mối quan hệ chuyển tiếp này.

cho mỗi hàng
Đối với mỗi câu

Điều này chỉ định liệu chức năng kích tỷ lệ kèo bóng đá có nên được bắn một lần cho mỗi hàng bị ảnh hưởng bởi sự kiện kích tỷ lệ kèo bóng đá hay chỉ một lần cho mỗi câu lệnh SQL. Nếu không được chỉ định,Đối với mỗi câulà mặc định. Kích tỷ lệ kèo bóng đá ràng buộc chỉ có thể được chỉ địnhcho mỗi hàng.

điều kiện

Một biểu thức boolean xác định liệu chức năng kích tỷ lệ kèo bóng đá có thực sự được thực thi hay không. Nếu nhưkhiđược chỉ định, chức năng sẽ chỉ được gọi nếuđiều kiệnreturnTRUE. TRONGcho mỗi hàngTriggers, ThekhiĐiều kiện có thể tham khảo các cột của các giá trị hàng cũ và/hoặc hàng mới bằng cách viếtcũ.Cột_namehoặcmới.Cột_nametương ứng. Tất nhiên rồi,ChènTriggers không thể tham khảoXóaTriggers không thể tham khảomới.

thay vìTriggers không hỗ trợKhiĐiều kiện.

Hiện tại,KhiBiểu thức không thể chứa các nhóm con.

Lưu ý rằng đối với các kích tỷ lệ kèo bóng đá ràng buộc, đánh giáKhiĐiều kiện không bị hoãn lại, nhưng xảy ra ngay sau khi tỷ lệ kèo bóng đá động cập nhật hàng được thực hiện. Nếu điều kiện không đánh giá đúng thì kích tỷ lệ kèo bóng đá không được xếp hàng để thực thi hoãn lại.

function_name

Hàm do người dùng cung cấp được tuyên bố là không lấy đối số và loại trả vềTrigger, được thực thi khi kích tỷ lệ kèo bóng đá.

Trong cú pháp củatỷ lệ kèo bóng đá, Từ khóafunctionQuy trìnhtương đương, nhưng trong mọi trường hợp phải được tham chiếu phải là một hàm, không phải là một thủ tục. Việc sử dụng từ khóaQuy trìnhĐây là lịch sử và không phản đối.

Đối số

Một danh sách các đối số được phân tách bằng dấu phẩy tùy chọn sẽ được cung cấp cho chức năng khi trình kích tỷ lệ kèo bóng đá được thực thi. Các đối số là hằng số chuỗi theo nghĩa đen. Tên đơn giản và hằng số số cũng có thể được viết ở đây, nhưng tất cả chúng sẽ được chuyển đổi thành chuỗi. Vui lòng kiểm tra mô tả ngôn ngữ triển khai của hàm kích tỷ lệ kèo bóng đá để tìm hiểu làm thế nào các đối số này có thể được truy cập trong hàm; nó có thể khác với các đối số chức năng bình thường.

Ghi chú

Để tạo hoặc thay thế trình kích tỷ lệ kèo bóng đá trên bảng, người dùng phải cóTriggerĐặc quyền trên bảng. Người dùng cũng phải cóthực thiĐặc quyền trên hàm kích tỷ lệ kèo bóng đá.

Sử dụngDrop TriggerĐể xóa trình kích tỷ lệ kèo bóng đá.

Tạo trình kích tỷ lệ kèo bóng đá cấp hàng trên bảng được phân vùng sẽ gây ra một giống hệt nhauMạnhnhân bảnTrình kích tỷ lệ kèo bóng đá sẽ được tạo trên mỗi phân vùng hiện có của nó; và bất kỳ phân vùng nào được tạo hoặc đính kèm sau này cũng sẽ có một kích tỷ lệ kèo bóng đá giống hệt nhau. Nếu đã có một trình kích tỷ lệ kèo bóng đá được đặt tên xung đột trên phân vùng con, thì lỗi xảy ra trừ khitỷ lệ kèo bóng đá hoặc thay thế Triggerđược sử dụng, trong trường hợp đó kích tỷ lệ kèo bóng đá được thay thế bằng trình kích tỷ lệ kèo bóng đá bản sao. Khi một phân vùng được tách ra khỏi cha mẹ của nó, các bộ kích tỷ lệ kèo bóng đá bản sao của nó sẽ bị xóa.

Trình kích tỷ lệ kèo bóng đá dành riêng cho cột (một được xác định bằng cách sử dụngCập nhậtCột_nameCú pháp) sẽ bắn khi bất kỳ cột nào của nó được liệt kê là mục tiêu trongCập nhậtLệnh củasetDanh sách. Giá trị của một cột có thể thay đổi ngay cả khi kích tỷ lệ kèo bóng đá không được bắn, bởi vì các thay đổi được thực hiện theo nội dung của hàng bởiTrước khi cập nhậtTriggers không được xem xét. Ngược lại, một lệnh nhưCập nhật ... Đặt x = x ...Sẽ kích tỷ lệ kèo bóng đá trình kích tỷ lệ kèo bóng đá trên cộtx, mặc dù giá trị của cột không thay đổi.

trong AtrướcTrigger, TheKhiĐiều kiện được đánh giá ngay trước khi chức năng hoặc sẽ được thực thi, vì vậy sử dụngkhikhông khác biệt về mặt vật chất so với việc kiểm tra cùng một điều kiện ở đầu hàm kích tỷ lệ kèo bóng đá. Lưu ý cụ thể rằngmớiHàng nhìn thấy theo điều kiện là giá trị hiện tại, như có thể được sửa đổi bởi các kích tỷ lệ kèo bóng đá trước đó. Ngoài ra, AtrướcTrigger'sKhiĐiều kiện không được phép kiểm tra các cột hệ thống củamớihàng (chẳng hạn nhưCTID), bởi vì chúng chưa được đặt.

trong mộtsauTrigger, TheKhiĐiều kiện được đánh giá ngay sau khi cập nhật hàng xảy ra và nó xác định liệu một sự kiện có được xếp hàng để kích tỷ lệ kèo bóng đá kích tỷ lệ kèo bóng đá ở cuối câu lệnh hay không. Vì vậy, khi mộtsauTrigger'skhiĐiều kiện không trả về true, không cần thiết phải xếp hàng một sự kiện cũng như không tìm nạp lại hàng ở cuối câu lệnh. Điều này có thể dẫn đến tăng tốc đáng kể trong các câu lệnh sửa đổi nhiều hàng, nếu kích tỷ lệ kèo bóng đá chỉ cần được bắn vào một vài hàng.

Trong một số trường hợp, một lệnh SQL có thể bắn nhiều hơn một loại kích tỷ lệ kèo bóng đá. Ví dụChènvớitrên xung đột do cập nhậtmệnh đề có thể gây ra cả tỷ lệ kèo bóng đá động chèn và cập nhật, do đó, nó sẽ bắn cả hai loại kích tỷ lệ kèo bóng đá khi cần thiết. Các mối quan hệ chuyển tiếp được cung cấp cho các yếu tố kích tỷ lệ kèo bóng đá là cụ thể cho loại sự kiện của chúng; Do đó mộtChènTrigger sẽ chỉ thấy các hàng được chèn, trong khiCập nhậtTrigger sẽ chỉ thấy các hàng được cập nhật.

Cập nhật hàng hoặc xóa do các hành động thực thi của nước ngoài, chẳng hạn nhưKhi cập nhật CascadehoặcKhi xóa Set null, được coi là một phần của lệnh SQL gây ra chúng (lưu ý rằng những hành động đó không bao giờ được hoãn lại). Các kích tỷ lệ kèo bóng đá có liên quan trên bảng bị ảnh hưởng sẽ được bắn, do đó, điều này cung cấp một cách khác trong đó lệnh SQL có thể kích tỷ lệ kèo bóng đá các kích tỷ lệ kèo bóng đá không khớp trực tiếp với loại của nó. Trong các trường hợp đơn giản, các kích tỷ lệ kèo bóng đá yêu cầu quan hệ chuyển tiếp sẽ thấy tất cả các thay đổi gây ra trong bảng của họ bởi một lệnh SQL gốc duy nhất là một mối quan hệ chuyển tiếp duy nhất. Tuy nhiên, có những trường hợp trong đó sự hiện diện củasau hàngTrình kích tỷ lệ kèo bóng đá yêu cầu các mối quan hệ chuyển tiếp sẽ khiến các hành động thực thi phím nước ngoài được kích tỷ lệ kèo bóng đá bởi một lệnh SQL duy nhất được chia thành nhiều bước, mỗi bước có quan hệ chuyển tiếp riêng. Trong những trường hợp như vậy, bất kỳ trình kích tỷ lệ kèo bóng đá cấp độ tuyên bố nào có mặt sẽ được bắn một lần mỗi lần tạo ra một tập hợp quan hệ chuyển tiếp, đảm bảo rằng các bộ kích tỷ lệ kèo bóng đá nhìn thấy mỗi hàng bị ảnh hưởng trong một mối quan hệ chuyển tiếp một lần và chỉ một lần.

Trình kích tỷ lệ kèo bóng đá cấp độ tuyên bố trên chế độ xem chỉ được bắn nếu hành động trên chế độ xem được xử lý bởi cấp độ hàngthay vìTrigger. Nếu hành động được xử lý bởi mộtThay vào đóQuy tắc, sau đó, bất kỳ câu lệnh nào được phát ra bởi quy tắc được thực thi thay cho câu lệnh gốc đặt tên cho chế độ xem, do đó các yếu tố kích tỷ lệ kèo bóng đá sẽ được bắn là các bảng trên các bảng có tên trong các câu lệnh thay thế. Tương tự, nếu chế độ xem có thể tự động cập nhật, thì hành động được xử lý bằng cách tự động viết lại câu lệnh thành một hành động trên bảng cơ sở của chế độ xem, để các kích tỷ lệ kèo bóng đá cấp độ câu lệnh của bảng cơ sở là những kích tỷ lệ kèo bóng đá được kích tỷ lệ kèo bóng đá.

Sửa đổi bảng được phân vùng hoặc bảng có kích tỷ lệ kèo bóng đá kích tỷ lệ kèo bóng đá các trình kích tỷ lệ kèo bóng đá cấp độ tuyên bố được gắn vào bảng được đặt tên rõ ràng, nhưng không kích tỷ lệ kèo bóng đá cấp độ tuyên bố cho các phân vùng hoặc bảng con của nó. Ngược lại, các kích tỷ lệ kèo bóng đá cấp độ hàng được bắn trên các hàng trong các phân vùng bị ảnh hưởng hoặc bảng con, ngay cả khi chúng không được đặt tên rõ ràng trong truy vấn. Nếu một trình kích tỷ lệ kèo bóng đá cấp độ tuyên bố đã được xác định với các quan hệ chuyển tiếp được đặt tên bởi ATham chiếumệnh đề, sau đó trước và sau hình ảnh của các hàng có thể nhìn thấy từ tất cả các phân vùng bị ảnh hưởng hoặc bảng con. Trong trường hợp trẻ em thừa kế, các hình ảnh hàng chỉ bao gồm các cột có trong bảng mà bộ kích tỷ lệ kèo bóng đá được gắn vào.

Hiện tại, các kích tỷ lệ kèo bóng đá cấp độ hàng có quan hệ chuyển tiếp không thể được xác định trên các phân vùng hoặc các bảng con kế thừa. Ngoài ra, các kích tỷ lệ kèo bóng đá trên các bảng được phân vùng có thể không phải làthay vì.

Hiện tại,hoặc thay thếTùy chọn không được hỗ trợ cho các kích tỷ lệ kèo bóng đá ràng buộc.

Thay thế một trình kích tỷ lệ kèo bóng đá hiện có trong một giao dịch đã thực hiện các hành động cập nhật trên bảng Trigger không được khuyến nghị. Kích tỷ lệ kèo bóng đá các quyết định bắn, hoặc các phần của các quyết định bắn, đã được đưa ra sẽ không được xem xét lại, vì vậy các hiệu ứng có thể đáng ngạc nhiên.

Có một vài chức năng kích tỷ lệ kèo bóng đá tích hợp có thể được sử dụng để giải quyết các vấn đề phổ biến mà không phải viết mã kích tỷ lệ kèo bóng đá của riêng bạn; nhìn thấyPhần 9.28.

Ví dụ

Thực thi chức năngCheck_account_updateBất cứ khi nào một hàng của bảngTài khoảnsắp được cập nhật:

tỷ lệ kèo bóng đá Check_Update
    Trước khi cập nhật trên tài khoản
    Cho mỗi hàng
    Thực thi chức năng check_account_update ();

Sửa đổi định nghĩa kích tỷ lệ kèo bóng đá đó để chỉ thực thi chức năng nếu cộtCân bằngđược chỉ định là mục tiêu trongCập nhậtlệnh:

tỷ lệ kèo bóng đá hoặc thay thế Trigger Check_Update
    Trước khi cập nhật số dư trên tài khoản
    Cho mỗi hàng
    Thực thi chức năng check_account_update ();

Biểu mẫu này chỉ thực thi chức năng nếu cộtBalanceThực tế đã thay đổi giá trị:

tỷ lệ kèo bóng đá Check_Update
    Trước khi cập nhật trên tài khoản
    Cho mỗi hàng
    Khi (Old.balance khác biệt với New.balance)
    Thực thi chức năng check_account_update ();

Gọi hàm để ghi nhật ký cập nhậtTài khoản, nhưng chỉ khi một cái gì đó thay đổi:

Tạo trình kích tỷ lệ kèo bóng đá log_update
    Sau khi cập nhật trên tài khoản
    Cho mỗi hàng
    Khi (cũ.* Khác biệt với mới.*)
    Thực thi hàm log_account_update ();

thực thi chức năngView_insert_rowĐể mỗi hàng chèn các hàng vào các bảng bên dưới chế độ xem:

tỷ lệ kèo bóng đá View_insert
    Thay vì chèn vào my_view
    Cho mỗi hàng
    Thực thi hàm xem_insert_row ();

thực thi chức năngCheck_transfer_balances_to_zeroĐể mỗi câu lệnh xác nhận rằngChuyển giaoHàng bù vào mạng không:

tỷ lệ kèo bóng đá Transfer_insert
    Sau khi chèn vào chuyển nhượng
    Tham khảo bảng mới được chèn
    Cho mỗi tuyên bố
    Thực thi chức năng kiểm tra_transfer_balances_to_zero ();

thực thi chức năngCheck_Matching_PairsĐối với mỗi hàng để xác nhận rằng các thay đổi được thực hiện để khớp các cặp cùng một lúc (theo cùng một câu lệnh):

tỷ lệ kèo bóng đá Paired_Items_Update
    Sau khi cập nhật trên Paired_Items
    Tham khảo bảng mới là bàn cũ mới như Oldtab
    Cho mỗi hàng
    Thực thi chức năng kiểm tra_matching_pairs ();

Phần 39.4chứa một ví dụ hoàn chỉnh về hàm kích tỷ lệ kèo bóng đá được viết trong C.

Tương thích

Thetỷ lệ kèo bóng đácâu lệnh trongPOSTGRESQLthực hiện một tập hợp con củaSQLTiêu chuẩn. Các chức năng sau hiện đang bị thiếu:

  • Trong khi tên bảng chuyển tiếp chosauTrình kích tỷ lệ kèo bóng đá được chỉ định bằngTham khảomệnh đề theo cách tiêu chuẩn, các biến hàng được sử dụng trongcho mỗi hàngTriggers không được chỉ định trong ATham khảomệnh đề. Chúng có sẵn theo cách phụ thuộc vào ngôn ngữ mà hàm kích tỷ lệ kèo bóng đá được viết, nhưng được cố định cho bất kỳ một ngôn ngữ nào. Một số ngôn ngữ tỷ lệ kèo bóng đá động hiệu quả như thể có mộtTham khảomệnh đề chứaHàng cũ là hàng mới như mới.

  • Tiêu chuẩn cho phép các bảng chuyển tiếp được sử dụng với Cột cụ thểCập nhậtTriggers, nhưng sau đó tập hợp các hàng cần hiển thị trong các bảng chuyển tiếp phụ thuộc vào danh sách cột của Trigger. Điều này hiện không được thực hiện bởiPOSTGRESQL.

  • POSTGRESQLChỉ cho phép thực hiện chức năng do người dùng xác định cho hành động được kích tỷ lệ kèo bóng đá. Tiêu chuẩn cho phép thực hiện một số lệnh SQL khác, chẳng hạn nhưtỷ lệ kèo bóng đá bảng, là hành động được kích tỷ lệ kèo bóng đá. Giới hạn này không khó để tỷ lệ kèo bóng đá động bằng cách tạo chức năng do người dùng xác định, thực thi các lệnh mong muốn.

SQL chỉ định rằng nhiều kích tỷ lệ kèo bóng đá nên được bắn theo thứ tự thời gian tạo.POSTGRESQLsử dụng thứ tự tên, được đánh giá là thuận tiện hơn.

SQL Chỉ định rằngTrước khi xóaTrình kích tỷ lệ kèo bóng đá trên Cascaded Deletes FiresauThe CascadedXóaHoàn thành. ThePostgreSQLHành vi dành choTrước khi xóaĐể luôn bắn trước hành động xóa, thậm chí là một tầng. Điều này được coi là nhất quán hơn. Ngoài ra còn có hành vi không chuẩn nếutrướcKích tỷ lệ kèo bóng đá sửa đổi hàng hoặc ngăn chặn cập nhật trong quá trình cập nhật do hành động tham chiếu. Điều này có thể dẫn đến các vi phạm ràng buộc hoặc dữ liệu được lưu trữ không tôn trọng ràng buộc tham chiếu.

Khả năng chỉ định nhiều hành động cho một lần kích tỷ lệ kèo bóng đá bằng cách sử dụnghoặclà mộtPostgreSQLMở rộng tiêu chuẩn SQL.

Khả năng kích tỷ lệ kèo bóng đá kích tỷ lệ kèo bóng đá chocắt ngắnlà APostgreSQL40823_40919

Tạo giới hạn kích tỷ lệ kèo bóng đálà APostgreSQLPhần mở rộng củaSQLTiêu chuẩn. Cũng vậyhoặc thay thếTùy chọn.

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ụngMẫu nàyĐể báo cáo vấn đề tài liệu.