限制更新列

Sen*_*ncy 1 sql sql-server

是否可以在不使用触发器的情况下限制更新SQL中的列?如果是这样的话?(需要查询)


PS:

我的意思是,我有一张桌子

CREATE TABLE MYBUDGET.tbl_Income
(
    [IncomeID]          INT             NOT NULL IDENTITY(1,1),
    [IncomeCatID]       INT             NOT NULL,
    [IncomeAmnt]        MONEY           NOT NULL,
    [IncomeCurrencyID]  INT             NOT NULL,
    [ExchangeRateID]    INT             NOT NULL,
    [IncomeAmnt_LKR]    MONEY           NOT NULL,
    [AddedOn]           DATETIME        NOT NULL,
    [Remark]            VARCHAR(250),
)
Run Code Online (Sandbox Code Playgroud)

我需要允许用户仅更新[ExchangeRateID][IncomeAmnt_LKR]字段.所有其他字段无法更新.只插入.

Con*_*rix 6

使用DENY阻止更新.例如

DENY UPDATE ON

MYBUDGET.tbl_Income
(
    [IncomeID],
    [IncomeCatID],
    [IncomeAmnt]        ,
    [IncomeCurrencyID]  ,
    [AddedOn]           ,
    [Remark]
)
TO Mary, John, [Corporate\SomeUserGroup]
Run Code Online (Sandbox Code Playgroud)

人们仍然应该考虑所有权链如何能够超越DENYs看gbn 的答案