Cursor
Attributes
Explicit Cursor: Example -1
DECLARE
-- Step 1: Cursor declaration
CURSOR empcur
IS
SELECT empno, ename
FROM emp;
v_empno emp.empno%TYPE;
v_name emp.ename%TYPE;
BEGIN
OPEN empcur; -- Step2: Open the Cursor for a query
LOOP
-- Step 3: Fetch the values from table results into PL/SQL variables.
FETCH empcur
INTO v_empno, v_name;
EXIT WHEN empcur%NOTFOUND;
DBMS_OUTPUT.put_line(v_empno || ' ' || v_name);
END LOOP;
CLOSE empcur; -- Step 4: Close the cursor
END;
Explicit Cursor: using %TYPE and RECORD
DECLARE
TYPE t_emprec IS RECORD (
ename emp.ename%TYPE,
sal emp.sal%TYPE,
job emp.job%TYPE
);
r_emp t_emprec;
CURSOR c_emp
IS
SELECT ename, sal, job
FROM emp;
BEGIN
OPEN c_emp;
LOOP
FETCH c_emp
INTO r_emp;
EXIT WHEN c_emp%NOTFOUND;
DBMS_OUTPUT.put_line(r_emp.ename || ', ' || r_emp.sal || ', '
|| r_emp.job
);
END LOOP;
CLOSE c_emp;
END;
Selamat Petang,
ReplyDeleteGreat info! I recently came across your blog and have been reading along.
I thought I would leave my first comment. I don’t know what to say except that I have
I noticed that after my SQL instance crashed and came back online, One of the huge databases showed as recovering 10%..20% even though it was accessible and I was able to browse tables and query. I am surprised as to why it showed as recovering when it was all up and running.
Super likes !!! for this amazing post. I thinks everyone should bookmark this.
Thanks and Regards
Ohayo,
ReplyDeleteBest thing I have read in a while on this #topic. There should be a standing ovation button. This is a great piece.
1) I am new to Oracle, Im not a DBA and I ve tring to figure out this error in a log:
ERROR in QUETOL.tol_lc_movimientos_pg.movimientos SQLCODE[=ORA-20109:
ORA-20109: ORA-01422: exact fetch returns more than reques]
The problem arises I dont even know exactly this error which object references to: ie package, procedure,table,etc
QUETOL.tol_lc_movimientos_pg.movimientos
I tried to find this object as a Package but i could not find it?
SQL> SELECT object_name,OBJECT_TYPE,CREATED,STATUS,GENERATED FROM dba_objects
2 WHERE object_name = 'QUETOL.tol_lc_movimientos_pg.movimientos'
3 AND object_type = 'PACKAGE';
no rows selected
I tried to find as any other object but i didn’t get anything.
SQL> SELECT object_name,OBJECT_TYPE,CREATED,STATUS,GENERATED FROM dba_objects
2 WHERE object_name LIKE '%tol_lc_movimientos_pg.movimi%'
3 ;
no rows selected
I thought it was a Package so I could see its DML code.
I appreciate your help in advanced to identify which Object this log error point to point.
Anyways great write up, your efforts are much appreciated.
Obrigado,
Oracle Apps R12 and Oracle Fusion Cloud Self Paced Online Training Videos Published on Udemy with Life Time Access & Live Meeting Support to Clear your Queries. Avail 25% to 80% discount. Please Check https://www.oracleappstechnical.com for Never Before Offers and Discount Coupon Codes.
ReplyDelete