Welcome to DBA Master ! This blog is dedicated to all things related to database administration , SQL optimization , and performance tuning . Whether you're a beginner or a seasoned DBA, you'll find practical guides, troubleshooting tips, and real-world tutorials to help you work smarter with data. What to Expect: SQL performance tuning tips Indexing strategies Backup and recovery best practices High availability and replication techniques Database creation, configuration, and setup Monitoring queries and scripts for proactive performance management Migration guides across different database platforms Security essentials and best practices Recommended tools for DBAs Real-world error fixes and how to solve them Stay tuned — exciting content is coming soon. Feel free to bookmark and share: www.dbamaster.com ! Thanks for visiting!
procedure is a subprogram that performs a specific task. It's a part of PL/SQL and can be stored in the database for reuse.
AS
BEGIN
dbms_output.put_line('Welcome to Pearl Database Service!');
dbms_output.put_line('Please visite the website www.pearldbs.com');
END;
/
Run: EXECUTE welcome_proc; or exec welcome_proc
Is
Begin
Update employees set salary=’5000’ where employee_id=emp_id;
End update_employees;
/
Run: EXECUTE update_employees(1);
Is
Begin
Select first_name into fname from employees where employee_id=emp_id;
End update_employees;
/
Run:
Declare
fname varchar2(15);
Begin
Select_employees(&emp_id,fname)
Dbms_output.putline(fname);
End;
/
Is
Begin
Select salary into emp_id from employees where employee_id=emp_id;
End employees_inout;
/
Id number := &emp_id;
Begin
Employee_inout(&emp_id)
Dbms_output.put_line(emp_id);
End;
/
SELECT owner, object_name, procedure_name FROM all_procedures ORDER BY owner, object_name, procedure_name;
SELECT object_name, procedure_name FROM user_procedures ORDER BY object_name, procedure_name;
SELECT owner, object_name, procedure_name FROM dba_procedures ORDER BY owner, object_name, procedure_name;
SELECT text from user_source where name=’PROCEDURE_NAME’;
Features:
- Modularity: Procedures allow you to break down complex tasks into smaller, manageable units of code, promoting better organization and readability.
- Reusability: Can be reused across multiple applications.
- Parameters: Accepts IN, OUT, and IN OUT parameters for dynamic input/output.
- Encapsulation: Hides implementation details, allowing for easier maintenance.
- Error Handling: Can include exception handling to manage errors gracefully.
- Transaction Control: Supports COMMIT and ROLLBACK for database transactions.
- Performance: Optimized execution can improve performance for complex operations.
- Overloading: Multiple procedures can have the same name with different parameters.
- Integration: Can be called from triggers and grouped in packages.
Types of parameters:
- IN Parameter: Accepts a value when the procedure is called. It cannot be modified within the procedure.
- OUT Parameter: Returns a value to the calling environment. It must be assigned a value within the procedure.
- IN OUT Parameter: Accepts an initial value and can return a modified value.
Example for Simple procedure:
CREATE OR REPLACE PROCEDURE welcome_procAS
BEGIN
dbms_output.put_line('Welcome to Pearl Database Service!');
dbms_output.put_line('Please visite the website www.pearldbs.com');
END;
/
Run: EXECUTE welcome_proc; or exec welcome_proc
IN Parameter Example:
Create or replace procedure update_employees ( emp_id in integer)Is
Begin
Update employees set salary=’5000’ where employee_id=emp_id;
End update_employees;
/
Run: EXECUTE update_employees(1);
OUT Parameter Example:
Create or replace procedure select_employees (emp_id in employees.employee_id%type)(fname out employees.salary%type)Is
Begin
Select first_name into fname from employees where employee_id=emp_id;
End update_employees;
/
Run:
Declare
fname varchar2(15);
Begin
Select_employees(&emp_id,fname)
Dbms_output.putline(fname);
End;
/
IN OUT Parameter Example:
Create or replace employees_inout (emp_id in out number)Is
Begin
Select salary into emp_id from employees where employee_id=emp_id;
End employees_inout;
/
Run:
DeclareId number := &emp_id;
Begin
Employee_inout(&emp_id)
Dbms_output.put_line(emp_id);
End;
/
List out the procedures:
Select object_name, object_type from user_objects where object_type=’PRPCEDURE’;SELECT owner, object_name, procedure_name FROM all_procedures ORDER BY owner, object_name, procedure_name;
SELECT object_name, procedure_name FROM user_procedures ORDER BY object_name, procedure_name;
SELECT owner, object_name, procedure_name FROM dba_procedures ORDER BY owner, object_name, procedure_name;
SELECT text from user_source where name=’PROCEDURE_NAME’;
Comments
Post a Comment