как ограничить выполнение обновления только триггером

у меня есть требование, при котором возможности определенного типа записи могут обновляться только с помощью триггера. Другими словами, обновления не должны происходить из пользовательского интерфейса или загрузчика данных.

Это возможно?


person Prady    schedule 26.02.2012    source источник


Ответы (2)


Конечно. Путем грубой силы было бы ограничение разрешений учетной записи приложения для выполнения INSERT/UPDATE в таблице.

person Brad Cathey    schedule 26.02.2012
comment
Как говорит Брэд, заблокируйте безопасность, чтобы она не могла обновляться различными профилями (возможно, кроме администратора). Триггеры по-прежнему смогут обновлять записи без проблем. - person Matt Lacey; 27.02.2012

Вы можете добавить следующий код в триггер «перед обновлением» и отменить любые изменения, которые люди вносят в запись, до того, как она будет зафиксирована в базе данных. В тот же триггер вы можете поместить любые другие изменения, которые вы хотите сделать.

что-то типа

for(Account a : Trigger.new){
    if(a.recordtypeId != 'recordTypeToExclude') continue;
    a = Trigger.oldMap.get(a.id);        
}
person Kirill Yunussov    schedule 28.02.2012