Thomas <thomas.k.h...@t-online.de> writes:

> Hi,
>
> having set-up SQL authorisation I would like to grant data modification rights
> (insert, update, delete) to stored procedures only.
> I was assuming that granting executing rights on a routine using GRANT EXECUTE
> ON PROCEDURE to appl_user (with appl_user being a role) would automatically
> grant the right to insert data to any user who can take on this role. So there
> is no need to also GRANT INSERT ON TABLE xy TO appl_user. However testing 
> this I
> am getting a '<user> does not have INSERT permission on table' error. Does 
> this
> mean I have to grant rights on the tables accessed in a procedure on top of
> granting execution rights on the procedure for this to work?

Yes, currently, Derby routines execute with the invoker's current
privileges. SQL has a provision for defining routines to run with the
definer's privileges as well, but this is not yet implemented in
Derby. Feel free to file an improvement request!

Thanks,
Dag

Reply via email to