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
Explian rowid, rownum?
What is the advantage of index in sql?
How would you convert date into julian date format?
what are the differences between public, private, protected, static, transient, final and volatile? : Sql dba
What are inner outer left and right joins in sql?
How do you modify a column in sql?
how to drop an existing index in mysql? : Sql dba
How do I save a sql query?
Is join same as left join?
What does select * from mean in sql?
How many tables can a sql database have?
what are the properties and different types of sub-queries? : Sql dba
Why function is used in sql?
What is the purpose of normalization?
How to place comments in pl/sql?