HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlMinor

Add constraint to ensure flag column is <= sum of column in other table

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
sumcolumnflagensureconstraintothertableadd

Problem

I have a column RSEFlag that contains a flag value that is the sum of one or more of 1, 2, 4. I have separate table that contains the description of each of those flag values:

RSECode RSEDescription
------- --------------
   4    Environment
   1    Reliability
   2    Safety


I would like to constrain my RSEFlag column so that it is less than or equal to the sum of values from the RSE table.

Is this a worthwhile exercise and what is the best approach?

Solution


  • You can use a CHECK constraint defined against a UDF to enforce this, but this comes with many caveats.



  • You can also define INSERT and UPDATE triggers to do this same work.



-
In Oracle, you could create a materialized view that joined the two tables together and placed your RSEFlag column next to the appropriate sum. Then you would apply a CHECK constraint to enforce that `RSEFlag

Context

StackExchange Database Administrators Q#6234, answer score: 4

Revisions (0)

No revisions yet.