Difference between function, procedure and trigger

What is the difference between a function, a procedure and a trigger? I know the basic differences, but I would like to know the answers based on the performance tuning aspect (especially function and procedure, as in Oracle even procedures can return values using OUT).

    Requires Free Membership to View

The major difference to keep in mind is that trigger code is hard-parsed every time the trigger runs. You should therefore code all of your trigger actions in stored procedures (preferably implemented in packages, per good programming practice), and limit the trigger body to a PL/SQL block that just invokes the procedure, e.g.:
 BEGIN my_procedure(); END;
or use the CALL statement instead of a PL/SQL block:
 CALL my_procedure();

This was first published in January 2006

Join the conversationComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.