Dear All,
Question for this Week
Find out possible error(s) (either at compile
time or at runtime) in the following PL/SQL block. State
the reason(s) and correct the errors.
Declare
Cursor C1 is select ename, sal, comm from emp;
Begin
For i in C1 Loop
If i.comm between 299 and 999 then
Dbms_output.put_line(i.Ename || ‘
** Good Commission’);
Elsif i.comm > 999 then
Dbms_output.put_line(i.Empno || ‘
** Very Good Commission’);
close C1;
Else
Dbms_output.put_line(i.Ename || ‘
** ’ ||nvl(i.comm,‘O’));
End if;
End Loop;
End;
Answer Posted / rinson
Nobody mentioned errors..(both runtime and compile time)
let's go through the errors
A. compile time errors
1. Encountered symbol "‘" when expecting single qoutes
double quotes etc.
2. When we replace all these symbols to single quotes
next error -- > empno must be declared will come,
since it is to be declared in cursor C1.Here they
may be expecting ename instead of empno.
3. Then it will show next error-->
Numeric or value error since nvl function contains
different datatypes.we can change this to 0.
Now all compile time errors removed.
B. Run Time Errors
1. Since cursor for loop implicitly open,fetch and close
cursor , there is no need to close cursor in second if
condition.Actually compiler will not allow to close a
cursor in a cursor for loop.
it will throw the run time error
ora-01001 invalid cursor.
By removing close c1; all errors will be removed.
PL/SQL code without any errors is exact as given above
by Ramprasad.
Thanks
Rinson KE
| Is This Answer Correct ? | 6 Yes | 1 No |
Post New Answer View All Answers
What are the different datatypes available in PL/SQL?
what is the difference between mysql_fetch_array and mysql_fetch_object? : Sql dba
What is using in sql?
Whis is not false in primary key?
What are analytical functions in sql?
Why do we use sql constraints?
What is the main difference between sql and pl/sql?
How many times can we commit in a loop?
How does rowid help in running a query faster?
What action do you have to perform before retrieving data from the next result set of a stored procedure ?
How much does sql certification cost?
What is query syntax?
Is null operator in sql?
What is rank () in sql?
What are the properties of a transaction?