Advantages and Disadvantages of Using Stored Procedures - SQL - GeeksforGeeks

05 Jun, 2020
A Stored Procedure is a type of code in SQL that can be stored for later use and can be used many times. So, whenever you need to execute the query, instead of calling it you can just call the stored procedure. You can also pass parameters to a stored procedure, so that the stored procedure can act based on the parameter values that is passed.
Syntax :
CREATE PROCEDURE procedure_name
AS
sql_statement
GO; 
To execute a stored procedure –
EXEC procedure_name;
Example :
CREATE PROCEDURE SelectAllGeeks
AS
SELECT * 
FROM Geeks
GO; 
Advantages :The main advantages of stored procedure are given below:
Better Performance –The procedure calls are quick and efficient as stored procedures are compiled once and stored in executable form.Hence the response is quick. The executable code is automatically cached, hence lowers the memory requirements.Higher Productivity –Since the same piece of code is used again and again so, it results in higher productivity.Ease of Use –To create a stored procedure, one can use any Java Integrated Development Environment (IDE). Then, they can be deployed on any tier of network architecture.Scalability –Stored procedures increase scalability by isolating application processing on the server.Maintainability –Maintaining a procedure on a server is much easier then maintaining copies on various client machines, this is because scripts are in one location.Security –Access to the Oracle data can be restricted by allowing users to manipulate the data only through stored procedures that execute with their definer’s privileges.
Better Performance –The procedure calls are quick and efficient as stored procedures are compiled once and stored in executable form.Hence the response is quick. The executable code is automatically cached, hence lowers the memory requirements.
Higher Productivity –Since the same piece of code is used again and again so, it results in higher productivity.
Ease of Use –To create a stored procedure, one can use any Java Integrated Development Environment (IDE). Then, they can be deployed on any tier of network architecture.
Scalability –Stored procedures increase scalability by isolating application processing on the server.
Maintainability –Maintaining a procedure on a server is much easier then maintaining copies on various client machines, this is because scripts are in one location.
Security –Access to the Oracle data can be restricted by allowing users to manipulate the data only through stored procedures that execute with their definer’s privileges.
Disadvantages :The main disadvantages of stored procedures are given below:
Testing –Testing of a logic which is encapsulated inside a stored procedure is very difficult. Any data errors in handling stored procedures are not generated until runtime.Debugging –Depending on the database technology, debugging stored procedures will either be very difficult or not possible at all. Some relational databases such as SQL Server have some debugging capabilities.Versioning –Version control is not supported by the stored procedure.Cost –An extra developer in the form of DBA is required to access the SQL and write a better stored procedure. This will automatically incur added cost.Portability –Complex stored procedures will not always port to upgraded versions of the same database. This is specially true in case of moving from one database type(Oracle) to another database type(MS SQL Server).
Testing –Testing of a logic which is encapsulated inside a stored procedure is very difficult. Any data errors in handling stored procedures are not generated until runtime.
Debugging –Depending on the database technology, debugging stored procedures will either be very difficult or not possible at all. Some relational databases such as SQL Server have some debugging capabilities.
Versioning –Version control is not supported by the stored procedure.
Cost –An extra developer in the form of DBA is required to access the SQL and write a better stored procedure. This will automatically incur added cost.
Portability –Complex stored procedures will not always port to upgraded versions of the same database. This is specially true in case of moving from one database type(Oracle) to another database type(MS SQL Server).
DBMS-SQL
Picked
DBMS
SQL
DBMS
SQL
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Deadlock in DBMS
Types of Functional dependencies in DBMS
What is Temporary Table in SQL?
Conflict Serializability in DBMS
KDD Process in Data Mining
SQL | DDL, DQL, DML, DCL and TCL Commands
How to find Nth highest salary from a table
SQL | ALTER (RENAME)
How to Update Multiple Columns in Single Update Statement in SQL?
MySQL | Group_CONCAT() Function