, !
:
PL/SQL (.. PL/SQL, , EXECUTE IMMEDIATE)
[1] PLSQL , . , - :
CREATE OR REPLACE PROCEDURE DynamicVariableAssignment(
theString IN VARCHAR2
)
IS
BEGIN
EXECUTE IMMEDIATE 'BEGIN theString := ''test''; END; ';
END;
, theString PL/SQL. , PL/SQL "" , .
[2] ", , / PL/SQL, ?". , , , : SQL, /! , True PL/SQL, myTable%rowtype, PL/SQL. , hmmftg :
dynamic_request := 'BEGIN :t_row.' || col_name || ':= 0.001; END;';
EXECUTE IMMEDIATE dynamic_request USING IN OUT tRow;
tRow MyTable% ROWTYPE, SQL PL/SQL.
, ? [1], PL/SQL. , !
, kingPackage, :
tempVariable myTable%ROWTYPE;
:
( )
kingPackage.tempVariable := tRow;
vString := 'BEGIN kingPackage.tempVariable.' || col_val || ' := ' || TO_CHAR(vNumber) ||'; END;';
EXECUTE IMMEDIATE vString;
tRow := kingPackage.tempVariable;
, !