Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


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.

Answers were Sorted based on User's Feedback



Hi Guys, I have a situation where I need to access the column values from rowtype variable. Howev..

Answer / ajitnayak

DECLARE
CURSOR C1 IS SELECT *
FROM DEPT;

CURSOR C2 IS SELECT *
FROM EMP;

v_c2 C2%ROWTYPE;
v_str VARCHAR2(30);
v_res VARCHAR2(35);

BEGIN
OPEN C2;

FOR REC IN C1
LOOP
FETCH C2 INTO v_c2;
EXIT WHEN C2%NOTFOUND;
v_str := 'REC'||v_c2.ENAME;
v_res := V_STR;
DBMS_OUTPUT.PUT_LINE('NAME'||v_c2.ENAME);
END LOOP;
CLOSE C2;
END;

Is This Answer Correct ?    1 Yes 0 No

Hi Guys, I have a situation where I need to access the column values from rowtype variable. Howev..

Answer / 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

More SQL PLSQL Interview Questions

What are all the different normalizations?

0 Answers  


How long does it take to learn pl sql?

0 Answers  


what is the difference between mysql_fetch_array and mysql_fetch_object? : Sql dba

0 Answers  


Is sql developer case sensitive?

0 Answers  


Are stored procedures compiled?

0 Answers  


What is a parameter query?

0 Answers  


what does it mean to have quoted_identifier on? What are the implications of having it off? : Sql dba

0 Answers  


What is an oracle stored procedure?

0 Answers  


how can we transpose a table using sql (changing rows to column or vice-versa) ? : Sql dba

0 Answers  


What is rownum in sql?

0 Answers  


Write a query to find five highest salaries from EMP table. (there is a column SALARY)

24 Answers   Cap Gemini, iNautix,


what is the difference between implicit and explicit trigger

2 Answers   Tech Mahindra,


Categories