sql >> Database teknologi >  >> RDS >> PostgreSQL

SQL Sub-forespørgsler i check-begrænsning

Det er ikke understøttet at se ud over den aktuelle række i en CHECK-begrænsning.

http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html siger:

En kontrolbegrænsning angivet som en kolonnebegrænsning bør kun referere til den pågældende kolonnes værdi, mens et udtryk, der vises i en tabelbegrænsning, kan referere til flere kolonner.

I øjeblikket kan CHECK-udtryk ikke indeholde underforespørgsler eller henvise til andre variabler end kolonner i den aktuelle række.

Der er gode grunde til denne begrænsning, men hvis du kan lide at jonglere med flammende fakler, mens du kører på enhjulet cykel gennem tæt trafik, kan du undergrave begrænsningen ved hjælp af funktioner. De situationer, hvor dette ikke vil kom tilbage for at bide du er sjælden; du ville være meget sikrere at håndhæve den invariante i triggerkode i stedet for.

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




  1. hvad sker der i adoptionsfasen forberede

  2. Opret en bruger med alle rettigheder i Oracle

  3. Trin for trin instruktioner til Oracle Virtual Box-installation

  4. En oversigt over MariaDB Xpand (tidligere ClustrixDB)