DECLARE
v_amount NUMBER;
v_db_link VARCHAR2 (200) := NULL;
TYPE cur_typ IS REF CURSOR;
c cur_typ;
BEGIN
SELECT db_link
INTO v_db_link
FROM dba_db_links
WHERE db_link LIKE '%ASCP%';
v_db_link := 'mtl_onhand_quantities_detail@' || v_db_link;
DBMS_OUTPUT.put_line (v_db_link);
OPEN c FOR 'SELECT NVL(SUM(PRIMARY_TRANSACTION_QUANTITY),0) X FROM '
|| v_db_link;
LOOP
FETCH c
INTO v_amount;
EXIT WHEN c%NOTFOUND;
DBMS_OUTPUT.put_line (v_amount);
END LOOP;
CLOSE c;
END;
Note : In this example, our requirement was to fetch name of the DB Link dynamically from table And then using the same into SELECT statement. Moreover, we can not directly use it into a formula column of a RDF report or FORM. For that we have to create a function into database with all the required parameters.
v_amount NUMBER;
v_db_link VARCHAR2 (200) := NULL;
TYPE cur_typ IS REF CURSOR;
c cur_typ;
BEGIN
SELECT db_link
INTO v_db_link
FROM dba_db_links
WHERE db_link LIKE '%ASCP%';
v_db_link := 'mtl_onhand_quantities_detail@' || v_db_link;
DBMS_OUTPUT.put_line (v_db_link);
OPEN c FOR 'SELECT NVL(SUM(PRIMARY_TRANSACTION_QUANTITY),0) X FROM '
|| v_db_link;
LOOP
FETCH c
INTO v_amount;
EXIT WHEN c%NOTFOUND;
DBMS_OUTPUT.put_line (v_amount);
END LOOP;
CLOSE c;
END;
Note : In this example, our requirement was to fetch name of the DB Link dynamically from table And then using the same into SELECT statement. Moreover, we can not directly use it into a formula column of a RDF report or FORM. For that we have to create a function into database with all the required parameters.