![]() |
VOOZH | about |
PL/SQL provides procedures as reusable code blocks that perform specific actions or business logic within a database environment.
The procedure contains two parts:
Procedure Header
Procedure Body
To create a procedure in PL/SQL, use the CREATE PROCEDURE command:
Syntax:
CREATE OR REPLACE PROCEDURE procedure_name (
param1 IN NUMBER,
param2 IN VARCHAR2,
result OUT VARCHAR2
)
IS
BEGIN
-- executable statements
END;
/
Note: Procedures in PL/SQL without parameters are written without parentheses after the procedure name
Example: In this example, we will create a procedure in PL/SQL
CREATE PROCEDURE GetStudentDetails (
p_StudentID IN NUMBER
)
IS
v_FirstName Students.FirstName%TYPE;
v_LastName Students.LastName%TYPE;
v_BirthDate Students.BirthDate%TYPE;
v_City Students.City%TYPE;
v_Country Students.Country%TYPE;
BEGIN
SELECT FirstName, LastName, BirthDate, City, Country
INTO v_FirstName, v_LastName, v_BirthDate, v_City, v_Country
FROM Students
WHERE StudentID = p_StudentID;
DBMS_OUTPUT.PUT_LINE(v_FirstName || ' ' || v_LastName);
END;
/
In PL/SQL, parameters are used to pass values into procedures. There are three types of parameters used in procedures:
To modify an existing procedures in PL/SQL use the ALTER PROCEDURE command:
Syntax
CREATE OR REPLACE PROCEDURE procedure_name (
param1 IN NUMBER,
param2 IN VARCHAR2
)
IS
BEGIN
-- Query
END;
/
Example: In this example, we will modify a procedure in PL/SQL:
CREATE OR REPLACE PROCEDURE GetStudentDetails (
p_StudentID IN NUMBER
)
IS
v_FirstName Students.FirstName%TYPE;
v_LastName Students.LastName%TYPE;
v_City Students.City%TYPE;
BEGIN
SELECT FirstName, LastName, City
INTO v_FirstName, v_LastName, v_City
FROM Students
WHERE StudentID = p_StudentID;
DBMS_OUTPUT.PUT_LINE(v_FirstName || ' ' || v_LastName || ' - ' || v_City);
END;
/
CREATE OR REPLACE PROCEDURE. p_StudentID. FirstName, LastName, and City using SELECT INTO. DBMS_OUTPUT.PUT_LINE.To drop a procedure in PL/SQL use the DROP PROCEDURE command
Syntax:
DROP PROCEDURE procedure_name In this example, we will delete a procedure in PL/SQL
DROP PROCEDURE GetStudentDetails