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 |
what is unit of measure classes? give atleast two examples. name the underlying table.
name at least five reports in oracle inventory related to transaction ?
What multi org tables . example - difference between app table non all table . Po_header and po_headers_all
When you run he report you have to get only that particular organization po numbers or item number how can do it?
In which table or database definition we can find the link of organization and operation units.
how can i print random rows in plsql table
what is the difference between %_all and %_f tables
Define multi org structure with example(take any businees).
how to change the logo in template dynamically?
What is the interface?
what is meant by bind parameter?
What are triggers?