2012-05-23 8 views
6

AFTER INSERT tetikleyicisi (pl/PGsql ile yazılmış işlev) orijinal ekinden ayrı bir işlemde mi çalışacak?Farklı işlemlerde INTERERT tetikleyicisi tetiklensin mi?

Tetikleyicinin, bir tür istisna yaşarsa, endişe duyduğum şey.
Orijinal kesici etkilenmeden tetik geri alınabilir mi?

+1

Ayrı bir işlem, ana işlemden bağımsız olarak geri alınabilir mi? – wildplasser

cevap

13

Tüm PostgreSQL tetikleyicileri, onları tetikleyen işlemle aynı işlemde yürütülür.

Düzenleme: Ayrıca LISTEN + NOTIFY işlemin dışında yürütür bir koda tetikleyicinize bir mesaj göndermek için kullanabilirsiniz. Bu durumda, mesaj sadece başarılı bir taahhütte teslim edilir. Dinleyicilerdeki hatalar tetikleme işlemini geri almaz.

6

Tetik işlemleri ilişkili tetikleyici olayların olarak aynı işlem çalışır. Ancak bir tetikleme prosedürünün etkileri ayrı ayrı geri alınabilir.

Tetikleyiciye exception handling eklemeniz gerekir.