我想问一下,是否有一种方法可以在db2级别禁止程序更改某些列中的数据。问题是,我有一些程序可以更改一组表中的数据,但现在我不能更改某些列中的数据,我想知道db2是否有办法进行这种限制。我可以更改所有程序,但想知道是否有更简单的方法来阻止列中的更改。
hfyxw5xn1#
比方说,您可以在这个表上创建BEFORE UPDATE OF COL1, ..., COLxtrigger,其中包含一个SIGNAL statement。或者,您可以撤消每个人对该表的update特权,而只对需要的列的子集授予update。
BEFORE UPDATE OF COL1, ..., COLx
update
y0u0uwnf2#
另一种选择是创建一个视图,其中包含需要更新的列的子集。如果需要重新绑定程序,这可能会稍微复杂一些。
2条答案
按热度按时间hfyxw5xn1#
比方说,您可以在这个表上创建
BEFORE UPDATE OF COL1, ..., COLx
trigger,其中包含一个SIGNAL statement。或者,您可以撤消每个人对该表的
update
特权,而只对需要的列的子集授予update
。y0u0uwnf2#
另一种选择是创建一个视图,其中包含需要更新的列的子集。如果需要重新绑定程序,这可能会稍微复杂一些。