Phiên bản không được hỗ trợ:7.3 / 7.2 / 7.1
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ùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

16.2. Tương tác với trình kèo bóng đá c1

Phần này mô tả các chi tiết cấp thấp của giao diện

Lưu ý:Giao diện được mô tả ở đây áp dụng choPostgreSQL7.1 trở lên.TriggerDataCon trỏ trong biến toàn cầucurrentTriggerData.

Khi một hàm được gọi bởi trình quản lý kèo bóng đá c1, nó không phải là"Bối cảnh"Con trỏ trỏ đến ATriggerDataCấu trúc. C chức năng có thể kiểm trađược gọi là_as_trigger (fcinfo), mở rộng sang

((fcinfo)- bối cảnh! = Null && isa ((fcinfo)- bối cảnh, kèo bóng đá c1 tạo

Nếu điều này trả về đúng, thì việc đúc là an toànfcinfo- bối cảnhđể loạiTriggerData *và sử dụng các pointed-toTriggerDataCấu trúc. Chức năngkhôngthay đổiTriggerDatacấu trúc hoặc bất kỳ

struct TriggerDatađược xác định tronglệnh/trigger.h:

Typedef Struct TriggerData

nơi các thành viên được xác định như sau:

loại

luôn luônT_TriggerDataNếu đây là

TG_Event

Mô tả sự kiện mà hàm được gọi.TG_EVENT:

Trigger_fired_before (tg_event)

trả về đúng nếu kèo bóng đá c1 được bắn trước đó.

Trigger_fired_after (TG_Event)

Trả về đúng nếu kèo bóng đá c1 bị bắn sau.

Trigger_fired_for_row (sự kiện)

Trả về true nếu kèo bóng đá c1 được bắn cho một cấp độ hàng

Trigger_fired_for_statement (sự kiện)

Trả về đúng nếu kèo bóng đá c1 được bắn cho cấp độ tuyên bố

Trigger_fired_by_insert (sự kiện)

Trả về đúng nếu kèo bóng đá c1 được bắn bằng cách chèn.

Trigger_fired_by_delete (sự kiện)

Trả về đúng nếu kèo bóng đá c1 bị bắn bằng cách xóa.

Trigger_fired_by_update (sự kiện)

Trả về đúng nếu kèo bóng đá c1 được kèo bóng đá c1 bởi bản cập nhật.

tg_relation

là một con trỏ tới cấu trúc mô tả kèo bóng đá c1Utils/rel.hchotg_relation- rd_att(mô tả của các bộ dữ liệu quan hệ) vàtg_relation- rd_rel- relname(tên của mối quan hệ. Đây không phải làchar*,Được đặt tên. Sử dụngspi_getRelName (tg_relation)để nhậnchar*Nếu bạn cần một bản sao của

tg_trigtuple

là một con trỏ tới tuple mà bộ kèo bóng đá c1 là

tg_newtuple

là một con trỏ tới phiên bản mới của tuple nếu cập nhật vànullNếu điều này là cho một phần chèn hoặc một

tg_trigger

là con trỏ tới cấu trúcTriggerđược xác định trongUtils/rel.h:

Typedef Struct Trigger

WHEREtgnameTGNARGSISTGARGS, TGARGSlà một loạt các con trỏ