CREATE PROCEDURE fetch_employee_data() BEGIN -- Declare variables to store cursor values DECLARE emp_id INT; DECLARE emp_name VARCHAR(255); DECLARE emp_age INT; DECLARE emp_salary DECIMAL(10, 2); -- Declare a cursor for the Employee table DECLARE emp_cursor CURSOR FOR SELECT E_id, E_name, Age, Salary FROM Employee; -- Declare a continue handler for the cursor DECLARE CONTINUE HANDLER FOR NOT FOUND SET @finished = 1; -- Open the cursor OPEN emp_cursor; -- Initialize a variable to control cursor loop SET @finished = 0; -- Loop through the cursor results cursor_loop: LOOP -- Fetch the next row from the cursor into variables FETCH emp_cursor INTO emp_id, emp_name, emp_age, emp_salary; -- Check if no more rows to fetch IF @finished = 1 THEN LEAVE cursor_loop; END IF; -- Output or process each row (for demonstration, print the values) SELECT CONCAT('Employee ID: ', emp_id, ', Name: ', emp_name, ', Age: ', emp_age, ', Salary: ', emp_salary) AS Employee_Info; END LOOP; -- Close the cursor CLOSE emp_cursor; END
Write, Run & Share PL/SQL code online using OneCompiler's Oracle PL/SQL online editor and compiler for free. It's one of the robust, feature-rich online editor and compiler for Oracle PL/SQL running on latest version 23c (23.3.0.0). Getting started with the OneCompiler's Oracle PL/SQL editor is really simple and pretty fast. The editor shows sample boilerplate code when you choose language as 'PL/SQL' and start writing code to learn and test online without worrying about tedious process of installation.
PL/SQL is procedural extension for SQL created by Oracle. It is by default embedded into the Oracle Database. PL/SQL program units are compiled and stored inside the Oracle Database which results in optimal execution times as the PL/SQL and SQL run within the same server process.
Following is the syntax structure for the PL/SQL code blocks
DECLARE
<declarations section>
BEGIN
<executable command(s)>
EXCEPTION
<exception handling>
END;
DECLARE
message varchar2(100):= 'Hello, World!';
BEGIN
dbms_output.put_line(message);
END;
/
CREATE OR REPLACE FUNCTION
hello_user
(user_name IN VARCHAR2)
RETURN VARCHAR2
IS
BEGIN
RETURN 'Hello ' || user_name;
END hello_user;
/
BEGIN
dbms_output.put_line(hello_user('Peter'));
END;
/
BEGIN
DBMS_OUTPUT.put_line (1/0);
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('error is: ' || SQLERRM);
END;