Triggers get invoked automatically when the event specified in it gets fulfilled, it can't return any value.So user have no control over it's invocation.Whereas stored procedure can be called as per application requirement and can get output parameters.
1. trigger doesnot except argument but store procedure does. 2. trigger cannot be local and store as a stand alone object in database. but store procedure can be store in package. 3. Trigger execute implicitly whereas store procedure execute via procedure call from another block.
Stored procedures are used to perform a task and should be invoked explicitly using exec. Triggers are used to restrict invalid transactions and invokes(fires) implicitly when an dml manipulation happens
A Stored Procedure is set of pre-compiled sql statements which are stored in memory. These statements are executed by executing that procedure which display results based on arguments passed to that procedure.
A trigger is invoked automatically when any operation (insertion,deletion and updation) is performed on particular table.Triggers are used to record events performed on table.