Granting permissions on procedures

There is only one permission that may be granted on a procedure, and that is the EXECUTE permission to execute (or CALL) the procedure.

Permission to execute stored procedures may be granted by the DBA or by the owner of the procedure (the user ID that created the procedure).

The method for granting permissions to execute a procedure is similar to that for granting permissions on tables and views, discussed in “Granting permissions on tables and views”.

Example

You can grant M_Haneef permission to execute a procedure named my_procedure, as follows:

  1. Connect to the database as a user with DBA authority or as owner of my_procedure procedure.

  2. Execute the SQL statement:

    GRANT EXECUTE
    ON my_procedure
    TO M_Haneef
    

Execution permissions of procedures

Procedures execute with the permissions of their owner. Any procedure that updates information on a table will execute successfully only if the owner of the procedure has UPDATE permissions on the table.

As long as the procedure owner does have the proper permissions, the procedure will execute successfully when called by any user assigned permission to execute it, whether or not they have permissions on the underlying table. You can use procedures to allow users to carry out well-defined activities on a table, without having any general permissions on the table.

Granting user permissions on procedures in Sybase Central

One way to grant a user permissions on a table in Sybase Central is as follows:

StepsGranting user permissions on procedures in Sybase Central

  1. Connect to the database.

  2. Click the Users & Groups folder, and locate the user you want to grant permissions to.

  3. Right-click the user, and select Copy from the popup menu.

  4. Locate the procedure you want to allow the user to execute, in the Stored Procedures folder.

  5. Click the procedure, and choose Edit > Paste from the main menu to grant permissions.

For more information, see the Sybase Central online Help.