sql >> Databáze >  >> RDS >> PostgreSQL

Dílčí dotazy SQL v kontrolním omezení

Není podporováno dívat se za aktuální řádek v podmínce CHECK.

http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html říká:

Kontrolní omezení zadané jako omezení sloupce by mělo odkazovat pouze na hodnotu tohoto sloupce, zatímco výraz objevující se v omezení tabulky může odkazovat na více sloupců.

V současné době nemohou výrazy CHECK obsahovat poddotazy ani odkazovat jiné položky než sloupce aktuálního řádku.

Pro toto omezení existují dobré důvody, ale pokud rádi žonglujete s hořící pochodněmi při jízdě na jednokolce v hustém provozu, můžete omezení zvrátit pomocí funkcí. Situace, ve kterých to nebude vrať se kousnout jsi vzácný; bylo by mnohem bezpečnější místo toho vynutit invariant ve spouštěcím kódu.

http://www.postgresql.org/docs/9.1/interactive/triggers.html




  1. Mám pole celých čísel, jak mohu každé z nich použít v dotazu mysql (v php)?

  2. Jak získat poslední den v měsíci v T-SQL

  3. Co je Percona DB

  4. Určení a nastavení edice R12.2