Types of cursors?
Answers were Sorted based on User's Feedback
Answer / saleem
1) Implicit: declared for all DML and pl/sql statements.
By default it selects one row only.
2) Explicit: Declared and named by the programmer.
Use explicit cursor to
individually process each row returned by a
Multiple
statements, is called ACTIVE SET.
Allows the programmer to
manually control explicit cursor in the
Pl/sql block
a) declare: create a named sql area
b) Open: identify the active set.
c) Fetch: load the current row in to variables.
d) Close: release the active set.
CURSOR ATTRIBUTES
a) %is open: evaluates to true if the cursor is open.
b) %not found: evaluates to true if the most recent fetch
does not return a row
c) %found: evaluates to true if the most recent fetch
returns a row.
d) %row count: evaluates to the total number of rows
returned to far.
Example for cursor:
1) Declare
Vno emp.empno%type;
Vname emp.ename %type;
Cursor emp_cursor is
Select empno,ename
From emp;
Begin
Open cursor;
For I in 1..10 loop
Fetch emp_cursor into vno,vname;
Dbms_output.putline(to_char(vno) ||? ?||vname);
End if;
E nd;
2) Begin
Open emp_cursor;
Loop
Fetch when emp_cursor % rowcount >10 or
Emp_curor % not found;
Bdms_output_put_line(to_char(vno)||? ?||
vname);
End loop;
Close emp_cursor;
End;
CURSOR FOR LOOP
A) cursor for loop is a short cut to process explicit cursors
B) it has higher performance
C) cursor for loop requires only the declaration of the
cursor, remaining things like opening, fetching and close
are automatically take by the cursor for loop
Example:
1) Declare
Cursor emp_cursor is
Select empno,ename
From emp;
Begin
For emp_record in emp_cursor loop
Dbms_output.putline(emp_record.empno);
Dbms_output.putline(emp_record.ename)
End loop
End;
| Is This Answer Correct ? | 33 Yes | 11 No |
Answer / fahad iqbal
A cursor is a handle (pointer) in memory for a DML operation
(Select , Update).
There are mainly 2 types of cursors .
1) Implicit Cursor.
2) Explicit Cursor.
Implicit cursor: Oracle will implicitly creates an area for
the DML operations. Programmer will not have control on
implicit cursors. The only useful attribute on this implicit
cursor is SQL%ROWCOUNT , it will give the number of rows
affected by the recent DML operation.
The only Implicit cursor is SQL.
Explicit Cursor:
Explicit cursors are created by the programmer and
programmer have control on it
Programmer can
1) Open
2) Close
3) Fetch
and do some manipulations on the values
Explicit Cursors are classified into
1) Normal cursor
2) Parameterized cursor
3) Cursor For Loops and
4) REF cursors
REF Cursors:
Normally when we create a normal cursor , we cant change the
select query associated to that query (the query which is
given at the time of definition)
But using REF cursors , we can change the cursor statement also.
These REF cursors are useful when we are sending data from
one environment to another environment.
Thanks And Regards
FAHAD IQBAL
| Is This Answer Correct ? | 12 Yes | 1 No |
Answer / manoj
Declare
var emp.empno%type;
emp emp.ename %type;
Cursor emp_cursor is
Select empno,ename
From emp;
Begin
Open cursor;
For I in 1..11 loop
Fetch emp_cursor into vno,vname;
Dbms_output.putline(to_char(vno) ||? ?
||vname);
End if;
E nd;
| Is This Answer Correct ? | 12 Yes | 20 No |
After completing Report customization process.suppose we have 10 report parameter in report so, that we re-register that parameter in concurrent program?
Attribute data types?
Challenges faced during upgradation of 11i to R12
in procedure how to return a value
can we write multiple procedures in package with same name like A p1,p2(parameters) B p1,p2(same parameters)
Matrix Report: Simple, Group above, Nested
What is oracle soa suite?
How to know the number of invoices generated for one PO from front end (navigation)?
maximum how many parameters we can pass through pl/sql stored procedure to oracle apps?how many mandatory parameters we can pass through pl/sql program to oracle apps11i?
What is Formula Column?
What is the interface?
in ap_terms table what data will be stored