What is difference between triggers and stored procedures.
And advantages of SP over triggers ?
Answer Posted / ravi singh
Procedures:
- A procedure is PL/SQL block which is used to process a value and need to execute explicitly.
- Procedure can be call when required and it don't have any dependency on any DML operations on any table.
- Procedure can be called from any area of the code.
- You can pass IN/OUT parameters to the procedure through which you can use the output of the procedures.
Triggers:
- Triggers are PL/SQL block which are based on the events and got executed on the happening of any DML event on the specific table.
- They cannot be called or you cannot stop them from execution.
- You can write commit in the triggers with the help of autonomous transaction only.
- You can refer the values of the table with whom the trigger is linked with the help of :new and :old variables.
Advantages and Disadvantages: They both are mentioned in the above two posted answers.
But one main advantage of triggers over procedures is if you want to perform any action on the DML event of any table you should use triggers as you dont need to make a seperate call for your code.
One main disadvantage of triggers you cannot stop them being executed if you want to do it you have to explicitly disable the trigger.
| Is This Answer Correct ? | 8 Yes | 3 No |
Post New Answer View All Answers
what are the properties and different types of sub-queries? : Sql dba
What is gpt format?
What is a field in a database?
What is sql data?
What is the difference between truncate and drop statements?
What are the sql versions?
what are the differences between get and post methods in form submitting. Give the case where we can use get and we can use post methods? : Sql dba
What is t-sql? : Transact sql
What is trigger explain it?
What is the plv (pl/vision) package offers?
How to start the command-line sql*plus?
Is left join faster than join?
what is sub-query? : Transact sql
Is sql harder than python?
Can you have more than one trigger on a table?