sql >> Databasteknik >  >> RDS >> PostgreSQL

Trigger kontra kontrollbegränsning

Tumregeln är att använda CHECK begränsning när det är möjligt.

En CHECK begränsning är snabbare, enklare, mer portabel, behöver mindre kod och är mindre felbenägen. Triggers kan lätt kringgås av andra triggers, till exempel.

En TRIGGER är mer komplicerat. Använd den när du måste , för mer komplexa krav.

Om en CHECK begränsningen är för restriktiv för ditt fall eller orsakar problem med att ladda om en dump, kan du använda NOT VALID modifierare som medelväg (Postgres 9.2+). Och, valfritt, VALIDATE det senare. Se:

  • Inaktivera alla begränsningar och tabellkontroller medan du återställer en dump



  1. Varför och när ska jag använda SPARSE COLUMN? (SQL SERVER 2008)

  2. Hur tar man bort dubbletter från kommaseparerad lista med regexp_replace i Oracle?

  3. Hur man tar bort ett SQL Server Agent-jobb i Azure Data Studio

  4. Vilket är det bästa sättet att ta bort gamla rader från MySQL på rullande basis?