Um einen Trigger auszuführen, sind nur Rechte auf eine Tabelle nötig.

Um eine Prozedure auszuführen, ist das EXECUTE-Recht für den Ausführenden,
also den Benutzer oder die Prozedur nötig, d.h. damit eine Prozedur eine
andere Prozedur ausführen kann, muss entweder der ausführende Benutzer oder
die Prozedur selber das entsprechende EXECUTE-Recht haben.

Prozeduren wiederum benötigen selber Rechte auf Tabellen, um sie zu
modifizieren. Der aufrufende User muss dagegen kein Recht auf einer Tabelle
haben. Damit ist eine Realisierung von Datenmanipulationen auf Tabellen
möglich, die ein User ausschliesslich über eine Stored Procedure vornehmen
kann.

Der IBExpert hat ein AutoGrant Feature, welches die Rechtevergabe
automatisch vornimmt und einem viel Arbeit erspart.