I have 2 packages A and B. Now package A references Package B
and Package B references Package A. How do you compile such
inter-dependent objects in PL/SQL

Answers were Sorted based on User's Feedback



I have 2 packages A and B. Now package A references Package B and Package B references Package A. ..

Answer / nitin

With the use of forward declaration we can call other package

Is This Answer Correct ?    11 Yes 3 No

I have 2 packages A and B. Now package A references Package B and Package B references Package A. ..

Answer / subha

First compile package A and B spec then compile package body of both A and B.

Is This Answer Correct ?    4 Yes 1 No

I have 2 packages A and B. Now package A references Package B and Package B references Package A. ..

Answer / ss

i know sql so here A and B are two tables which both having Primary and foreign Key so from A's PK is referring in to B and B's PK referring in to  A 
OR select * from A inner join B on (A.id=B.AID)

Is This Answer Correct ?    3 Yes 1 No

I have 2 packages A and B. Now package A references Package B and Package B references Package A. ..

Answer / nitin

Forward declaration can be implemented for procedure only.In one package you can create inter-dependency but for package it is not possible.

Is This Answer Correct ?    3 Yes 2 No

I have 2 packages A and B. Now package A references Package B and Package B references Package A. ..

Answer / anil

I assume this question as:
") I have 2 programs  A and B. Now program A references Program  B and Program B references Program A. How do you compile such inter-dependent objects in PL/SQL"

ANS:We can compile mutually referencing programmes using FORWARD declaration(specifying the declaration of one program in beginning of package body) inside a PACKAGE.
Example:
CREATE OR REPLACE PACKAGE test_pack
IS
gvar NUMBER:=0;
--PROCEDURE p1; --we can also achieve like this
END;
/

CREATE OR REPLACE PACKAGE BODY test_pack
IS
PROCEDURE p1; --forward declaration

PROCEDURE p2 
IS
BEGIN
P1;
END;

PROCEDURE p1
IS
BEGIN
p2;
END;

END;

Is This Answer Correct ?    2 Yes 1 No

Post New Answer

More SQL PLSQL Interview Questions

Is sql a dbms?

0 Answers  


Explain about various levels of constraint.

0 Answers  


How do you create a db file?

0 Answers  


What is rowid in sql?

0 Answers  


What are system versioned tables?

0 Answers  






can i give user defined exception in a package

2 Answers  


What is Difference between StoredProcedure and function?

3 Answers  


Why are cursors used?

0 Answers  


Is join same as left join?

0 Answers  


how can we encrypt and decrypt a data present in a mysql table using mysql? : Sql dba

0 Answers  


What are the types of optimization?

0 Answers  


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.

2 Answers  


Categories