我在 MDS 中创建了 Product 实体。它具有以下值: Bike 1 ABC Car 2 XYZ Cycle 3 RRR
所有者 XYZ 可以更改 RRR 的记录。但是,如果所有者 XYZ 或该实体中的任何其他所有者尝试更新 ABC 的记录,则应拒绝访问。这意味着,任何人都不应有权更改 ABC 输入的记录。为此,我执行了以下操作:
CREATE TRIGGER mdm.product_readonly
ON mdm.tbl_1034_1215_en
AFTER UPDATE, INSERT AS
If exists (system_user!='ABC')
and EXISTS (SELECT * FROM deleted a, inserted b, mdm.vw_product c
WHERE a.code=c.code
or b.code=c.code
And c.owner = 'ABC')
BEGIN
ROLLBACK TRANSACTION
RAISERROR ('Attempt to change a read-only row', 16, 1)
RETURN
END
执行此操作后,如果我尝试以 ABC 所有者身份更新记录,我可以更新所有记录。如果我尝试以 ABC 所有者以外的身份进行更新,我将无法更新 ABC 记录。但是从 MDS 我无法更新任何记录。它显示像数据库错误。
我们怎样才能做到这一点。请在这方面帮助我。谢谢!