Reputation: 587
mystring := 'abc/dd/<parm1>kkk<parm2>.T<parm3>';
mycursor has parm1 parm2 and parm3 that param have value.
CURSOR mycursor IS
SELECT parm, value FROM &VIEW;
How can mystring parm(<parm>)
replace value form the mycusor
After create new mystring it look like bellow(parm1 = value1, parm2 = value2, parm3 = value3)
mystring := 'abc/dd/value1kkkvalue2.Tvalue3';
Upvotes: 0
Views: 1011
Reputation: 50067
Try something like the following:
DECLARE
mystring VARCHAR2(200) := 'abc/dd/<parm1>kkk<parm2>.T<parm3>';
BEGIN
DBMS_OUTPUT.PUT_LINE('Before parameter replacement, mystring=''' ||
mystring || '''');
FOR aRow IN (SELECT parm, value FROM SOME_VIEW) LOOP
mystring := REPLACE(mystring, '<' || aRow.parm || '>', aRow.value);
END LOOP; -- aRow
DBMS_OUTPUT.PUT_LINE('After parameter replacement, mystring=''' ||
mystring || '''');
END;
Share and enjoy.
Upvotes: 2