Answer Posted / anil
1.REF CURSOR is basically a data type. It is normally declared as type r_cursor is REF CURSOR.
CURSOR is not a datatype.
2.REF CURSOR is dynamic , CURSOR is static
3.REF CURSOR can be passed from one procedure to other procedure but CURSOR cant be passed from one procedure to other.
4. A ref cursor can not be used in CURSOR FOR LOOP, it must be used in simple CURSOR LOOP statement.
5. A ref cursor is defined at runtime and can be opened dynamically but a regular cursor is static and defined at compile time.
6. A ref cursor can be passed to another PL/SQL routine (function or procedure) or returned to a client. A regular cursor cannot be returned to a client application and must be consumed within same routine.
7) A ref cursor incurs a parsing penalty because it cannot cached but regular cursor will be cached by PL/SQL which can lead to a significant reduction in CPU utilization.
8) A regular cursor can be defined outside of a procedure or a function as a global package variable. A ref cursor cannot be; it must be local in scope to a block of PL/SQL code.
9) A regular cursor can more efficiently retrieve data than ref cursor. A regular cursor can implicitly fetch 100 rows at a time if used with CURSOR FOR LOOP. A ref cursor must use explicit array fetching.
| Is This Answer Correct ? | 7 Yes | 0 No |
Post New Answer View All Answers
Define union, minus, union all, intersect ?
What do you understand by case manipulation functions?
Is sql the best database?
what is the bond code in materialized view?
What are some emotional triggers?
What is pl/sql table? Why is it used?
Define commit?
How do you concatenate in sql?
How do you drop a trigger?
Can we write ddl statements in functions?
Why use subqueries instead of joins?
What is the difference between row level and statement level trigger?
what are tables and fields? : Sql dba
How do you write a subquery?
Is pl sql different from sql?