Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 1- DECLARE the cursor in the declaration section.
- * CURSOR cursor_name IS select_statement;
- 2- OPEN the cursor in the Execution Section.
- * OPEN cursor_name;
- 3- FETCH the data from cursor into PL/SQL variables or records in the Execution
- Section.
- * FETCH cursor_name INTO VARIABLES|RECORD;
- 4- CLOSE the cursor in the Execution Section before you end the PL/SQL Block.
- * CLOSE cursor_name;
- */
- -- show the first row
- --################################################
- DECLARE
- CURSOR emp_cur IS
- SELECT employee_id,last_name,salary
- FROM employees;
- i employees.employee_id%TYPE;
- n employees.last_name%TYPE;
- s employees.salary%TYPE;
- BEGIN
- OPEN emp_cur;
- FETCH emp_cur INTO i,n,s;
- CLOSE emp_cur;
- DBMS_OUTPUT.put_line('ID: '||i);
- DBMS_OUTPUT.put_line('NAME: '||n);
- DBMS_OUTPUT.put_line('SALARY: '||s);
- END;
- --------------------------------------------------
- -- while loop
- --################################################
- DECLARE
- CURSOR emp_all IS
- SELECT employee_id,first_name,salary,job_id
- FROM employees
- ORDER BY salary ASC;
- emp_info emp_all%ROWTYPE;
- BEGIN
- OPEN emp_all;
- FETCH emp_all INTO emp_info;
- WHILE emp_all%found
- LOOP
- DBMS_OUTPUT.put_line('EMP ID: '||emp_info.employee_id);
- DBMS_OUTPUT.put_line('First Name: '||emp_info.first_name);
- DBMS_OUTPUT.put_line('Salary : '||emp_info.salary);
- DBMS_OUTPUT.put_line('Name job: '||emp_info.job_id);
- DBMS_OUTPUT.put_line('===============================');
- FETCH emp_all INTO emp_info;
- END LOOP;
- CLOSE emp_all;
- END;
- --------------------------------------------------
- -- while loop with count of employees
- --################################################
- DECLARE
- CURSOR emp_all IS
- SELECT employee_id,first_name,salary,job_id
- FROM employees
- ORDER BY salary ASC;
- emp_info emp_all%ROWTYPE;
- num NUMBER := 1
- BEGIN
- OPEN emp_all;
- FETCH emp_all INTO emp_info;
- WHILE emp_all%found
- LOOP
- DBMS_OUTPUT.put_line(num);
- DBMS_OUTPUT.put_line('EMP ID: '||emp_info.employee_id);
- DBMS_OUTPUT.put_line('First Name: '||emp_info.first_name);
- DBMS_OUTPUT.put_line('Salary : '||emp_info.salary);
- DBMS_OUTPUT.put_line('Name job: '||emp_info.job_id);
- DBMS_OUTPUT.put_line('===============================');
- num+1
- FETCH emp_all INTO emp_info;
- END LOOP;
- DBMS_OUTPUT.put_line('Employees Number is '||emp_all%rowcount);
- CLOSE emp_all;
- END;
- --------------------------------------------------
- -- simple loop
- --################################################
- DECLARE
- CURSOR emp_all IS
- SELECT *
- FROM employees
- ORDER BY salary ASC;
- emp_info emp_all%ROWTYPE;
- num NUMBER:= 1;
- BEGIN
- OPEN emp_all;
- LOOP
- FETCH emp_all INTO emp_info;
- DBMS_OUTPUT.put_line(num);
- DBMS_OUTPUT.put_line('EMP ID: '||emp_info.employee_id);
- DBMS_OUTPUT.put_line('First Name: '||emp_info.first_name);
- DBMS_OUTPUT.put_line('Salary : '||emp_info.salary);
- DBMS_OUTPUT.put_line('Name job: '||emp_info.job_id);
- DBMS_OUTPUT.put_line('===============================');
- num:= num +1;
- EXIT WHEN emp_all%notfound;
- END LOOP;
- DBMS_OUTPUT.put_line('Employees Number is '||emp_all%rowcount);
- CLOSE emp_all;
- END;
- -----------------------------------------------
- -- cursor with for loop
- --#############################################
- DECLARE
- CURSOR emp_all IS
- SELECT *
- FROM employees
- ORDER BY salary ASC;
- num NUMBER:= 1;
- BEGIN
- FOR emp_info IN emp_all
- LOOP
- DBMS_OUTPUT.put_line(num);
- DBMS_OUTPUT.put_line('EMP ID: '||emp_info.employee_id);
- DBMS_OUTPUT.put_line('First Name: '||emp_info.first_name);
- DBMS_OUTPUT.put_line('Salary : '||emp_info.salary);
- DBMS_OUTPUT.put_line('Name job: '||emp_info.job_id);
- DBMS_OUTPUT.put_line('===============================');
- num:= num +1;
- END LOOP;
- END;
- ----------------------------------------------
- -- just for loop
- --############################################
- BEGIN
- FOR emp_rec IN (SELECT employee_id,last_name,salary -- or use mark * for everything
- FROM employees)
- LOOP
- DBMS_OUTPUT.put_line('ID: '||emp_rec.employee_id);
- DBMS_OUTPUT.put_line('NAME: '||emp_rec.last_name);
- DBMS_OUTPUT.put_line('SALARY: '||emp_rec.salary);
- DBMS_OUTPUT.put_line('========');
- END LOOP;
- END;
Advertisement
RAW Paste Data
Copied
Advertisement