Suppose the following situation:
I have a product_stock
table and a stock_transaction_log
table. Currently whenever there is an increase/decrease in a product’s stock, I update the product_stock
table increasing or decreasing the quantity and also insert an entry in the transaction log table, for auditing. This is done in the application code.
I am considering changing the update of the product_stock
table to be done by a trigger on the transaction log table (instead of doing it directly in my application code), but I would like to add a reinforcement that the product_stock
table would never be updated directly, and only the trigger would be authorized to update it.
Is there anyway to do this in postgresql (currently using 9.1)