Hi Guys,

I have a situation where I need to access the column values from rowtype variable. However, the column names are dynamic.

below is sample code:
declare

Cursor c1 is select * from emp;
Cursor c2 is select column_name from xyztable;
v_c2 c2%rowtype;
v_str varchar2
v_value varchar2(200);

begin

for rec in c1
loop
open c2;---this cursor has column names like EMPLOYEE_ID, FIRST_NAME, LAST_NAME etc.
loop
fetch c2 into v_c2;
exit when c2%notfound;

/* now lets say i want to access value of LAST_NAME from cursor c1, so I am writing below code, however it does not work as expected */

v_str:= 'rec.'|| v_c2.column_name; -- this will give me string like "rec.EMPLOYEE_ID"

v_value:=v_str;



end loop;

end loop;



end;
/

Plz help ASAP.Thanks.

Answer Posted / abhishek jee

So what this PL/SQL block is trying to do is post as many records from "emp" table as there are records in "dept" table, i.e., if there are 27 records in "dept" table and 107 records in "emp" table, then the output would show the first 27 records from the "emp" table, isn't that so?

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Which are the different case manipulation functions in sql?

625


How can I delete duplicate rows?

642


what is a trigger in mysql? Define different types of trigger. : Sql dba

650


Write a program that shows the usage of while loop to calculate the average of user entered numbers and entry of more numbers are stopped by entering number 0?

1837


i have a column which may contain this kind of value: 123*67_80,12*8889_5,34*8_874 ,12*7_7 (can contain space before a comma, and this string length can be anything) now i want to split this value into two column like: column1: 123*67,12*8889,34*8,12*7 column2: 80,5,874,7 use function for this

1185






How do I order by ascending in sql?

638


How do you respond to dementia behavior?

629


Is sql developer case sensitive?

635


Is nosql faster than sql?

654


Can we use loop in sql?

627


What are sql queries used for?

635


What is the difference between union and union all command?

650


Why functions are used in sql?

620


how many tables will create when we create table, what are they? : Sql dba

646


What is case function?

678