While views restrict access on the basis of data, procedures restrict the actions a user may take.
A user may have EXECUTE permission on a procedure without having any permissions on the table or tables on which the procedure acts.
By default, procedures execute with the permissions of the procedure owner. For a procedure that updates a table, if the procedure owner has UPDATE permissions on the table, the user can execute the procedure. The owner of the procedure can restrict the procedure to execute with the permissions of the user executing the procedure by specifying SQL SECURITY INVOKER to CREATE/ALTER PROCEDURE statement.