1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 15:18:01 +00:00

Add Creating Conditional Constraints as a postgres til.

This commit is contained in:
jbranchaud
2016-01-12 20:28:08 -06:00
parent 53e9f25b24
commit febd5bb99f
2 changed files with 18 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
# Creating Conditional Constraints
There are times when it doesn't make sense for a constraint to apply to all
records in a table. For instance, if we have a table of pokemon, we may only
want to apply a unique index constraint to the names of non-wild pokemon.
This can be achieved with the following conditional constraint:
```sql
create unique index pokemons_names on pokemons (names)
where wild = false;
```
If we try to insert a non-wild pokemon with a duplicate name, we will get an
error. Likewise, if we try to update a pokemon with a duplicate name from
wild to non-wild, we will get an error.
[source](http://www.postgresguide.com/performance/conditional.html)