我必须创建两列(创建者,创建日期),这是在插入只读之后。插入后不能更改这两个字段。我知道使用sql触发器可以解决这个需求。但我认为这不是一个舒适的解决方案。
有没有解决方案可以解决我在Create-Table-Statemant
中的"问题"
也许列权限对您有用。
DENY UPDATE ON dbo.MyTable (Creator, CreationDate) TO SampleRole;
否,可能是:)
这不能用一个表来完成,但可以创建另一个表并为其创建FK。如果有适当的安全性(仅通过用证书签名的存储过程插入主表,并拒绝除使用同一证书创建的用户之外的所有人修改引用的表),这将使某人很难修改它。当然,管理员/所有者用户是不能被阻止的。
LMK,如果你希望我用代码扩展答案。