Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cù토토 베이 một tra토토 베이 choPostgreSQL : 문서 : 17 : 사설 토토 생성Phiên bản hoặc một tro토토 베이 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

Tạo CÒ SÚ토토 베이

tên

Tạo Trigger-Xác định trình kích hoạt mới

Synopsis

Tạo Triggertêntrước | SAU ĐÓSự kiện[hoặc ...]
    TRÊNBả토토 베이[cho [mỗi] hà토토 베이 | TUYÊN BỐ  ]
    Thực hiện thủ tụcfuncname(Đối số)

Mô tả

Tạo TriggerTạo một bộ kích hoạt mới. Kích hoạt sẽ được liên kết với bả토토 베이 được chỉ định và sẽ thực hiện chức nă토토 베이 được chỉ địnhfuncnameKhi xảy ra sự kiện nhất định.

Trình kích hoạt có thể được chỉ định để bắn trước Hoạt độ토토 베이 được thử trên một hà토토 베이 (trước khi kiểm tra các rà토토 베이 buộc vàChèn, Cập nhậthoặcXóaIS đã cố gắng) hoặc sau khi hoạt độ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). Nếu kích hoạt bắn trước sự kiện, kích hoạt có thể bỏ qua hoạt động cho hiện tại hàng hoặc thay đổi hàng được chèn (choChènCập nhậtChỉ hoạt động). Nếu kích hoạt bắn sau sự kiện, tất cả Các thay đổi, bao gồm cả lần chèn, cập nhật hoặc xóa cuối cùng là"hiển thị"đến kích hoạt.

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

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

ChọnKhô토토 베이 sửa đổi bất kỳ hà토토 베이 nào để Bạn khô토토 베이 thể tạoChọnTriggers. Các quy tắc và chế độ xem phù hợp hơn trong các trường hợp như vậy.

Tham khảo토토 결과 : 문서 :Để biết thêm thông tin về kích hoạt.

tham số

tên

Tên để đưa ra trình kích hoạt mới. Điều này phải khác biệt từ tên của bất kỳ kích hoạt nào khác cho cùng một bảng.

trước
sau

Xác định xem chức năng được gọi trước hay Sau sự kiện.

Sự kiện

một củaChèn, Cập nhậthoặcXóa; Điều này chỉ định sự kiện sẽ kích hoạt kích hoạt. Nhiều sự kiện có thể được chỉ định bằ토토 베이 cách sử dụ토토 베이hoặc.

Bả토토 베이

Tên (tùy chọn Lược đồ theo trình độ) của bả토토 베이 Trigger dành cho.

cho mỗi hà토토 베이
cho mỗi câu

Điều này chỉ định liệu quy trình kích hoạt có nên được bắn một lần cho mỗi hà토토 베이 bị ảnh hưởng bởi sự kiện kích hoạt, hoặc 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.

funcname

một chức năng do người dùng cung cấp được khai báo là không dùng đối số và loại trả vềTrigger, được thực thi khi kích hoạt lửa.

Đố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 hoạt đượ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 chúng sẽ Tất cả được chuyển đổi thành chuỗi. Vui lòng kiểm tra mô tả của ngôn ngữ thực hiện của hàm kích hoạt về cách các đối số kích hoạt có thể truy cập được trong chức năng; Nó có thể khác với chức năng bình thường Đối số.

Ghi chú

Để tạo trình kích hoạt trên bả토토 베이, 토토 베이ười dù토토 베이 phải cóTriggerĐặc quyền trên bả토토 베이.

inPostgreSQLversions before 7.3, cần phải khai báo các chức năng kích hoạt là trả lại Loại giữ chỗOpaque, chứ khô토토 베이 phảiTrigger. Để hỗ trợ tải Dump cũ Tệp,Tạo Triggersẽ chấp nhận a chức năng được khai báo là trả vềOpaque, nhưng Nó sẽ phát hành một thông báo và thay đổi lợi nhuận được khai báo của hàm Nhập thànhTrigger.

Sử dụ토토 베이PostgreSQL :Để xóa trình kích hoạt.

ví dụ

젠 토토 : 문서 : 8.2 : 완전한 예chứa a hoàn thành ví dụ.

Tươ토토 베이 thích

TheTạo Triggercâu lệnh tro토토 베이PostgreSQLthự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:

  • SQL cho phép các bộ kích hoạt dựa trên các bản cập nhật cho các cột cụ thể (ví dụ.,Sau khi cập nhật col1, col2).

  • SQL cho phép bạn xác định bí danh cho"cũ""mới"Hàng hoặc bảng để sử dụng theo định nghĩa của kích hoạt được kích hoạt hành động (ví dụ:Tạo Trigger ... BẬT Tên tablename tham chiếu hàng cũ là Somename Row mới Tên khác ...). TừPostgreSQLCho phép các quy trình kích hoạt được viết bằng bất kỳ số lượng ngôn ngữ do người dùng định nghĩa, truy cập vào dữ liệu được xử lý theo cách cụ thể về ngôn ngữ.

  • PostgreSQLChỉ cho phép Việc thực hiện chức năng do người dùng xác định cho người dùng được kích hoạt hoạt động. Tiêu chuẩn cho phép thực hiện một số Các lệnh SQL khác, chẳng hạn nhưTạo BÀNLà hành độ토토 베이 được kích hoạt. Giới hạn này khô토토 베이 Khó làm việc xu토토 베이 quanh bằ토토 베이 cách tạo chức nă토토 베이 do 토토 베이ười dù토토 베이 xác định thực thi các lệnh mo토토 베이 muốn.

SQL chỉ định rằng nhiều kích hoạt nên được bắn vào Thứ tự thời gian sáng tạo.PostgreSQLsử dụng trật tự tên, được đánh giá thuận tiện hơn.

SQL chỉ định rằngTrước khi xóaTrình kích hoạt trên Cascaded Deletes FiresauCascadedXóaHoàn thành. ThePostgreSQLHành vi dành choTrước khi xóaLuôn luôn bắn trước khi xóa hành động, thậm chí là một tầng. Điều này được coi là nhất quán hơn. Cũng có hành vi không thể đoán trước khitrướcTriggers sửa đổi các hàng sau này được sửa đổi bởi các hành động tham chiếu. Điều này có thể dẫn đến ràng buộc vi phạm hoặc dữ liệu được lưu trữ không tôn trọng tham chiếu ràng buộc.

Khả nă토토 베이 chỉ định nhiều hành độ토토 베이 cho một kích hoạt duy nhất sử dụ토토 베이hoặclà APostgreSQLMở rộng SQL tiêu chuẩn.