I have a data table with a primary key called OptDefID
. When a record in this table is deleted I need to go and delete all records from the Permissions
table that have that OptDefID
in the defID
field (in Permissions
). The tricky part for me is that the Permissions
table does not have a primary key and holds lots of different kinds of permissions, and has a permissiontype
field. I need to delete rows that have the OptDefID
AND a permissiontype
of OptDef
.
Because I need to consider the permissiontype, I don't believe a Foreign Key Constraint is appropriate here (or is it?).
I've also considered creating a trigger, but am unsure how to get the OptDefID passed into the trigger.
I can do this via the application itself, but I feel like this should be a database level solution.
What's the best solution?