Oracle DB 10g があり、アプリケーション関数と各関数変数を含むセットアップ テーブルを作成しました。
実行時に変数値をデバッグ テーブルに挿入する必要があるため、デバッグ テーブルに挿入する必要がある変数名を最初のテーブルで定義しています。
たとえば、という変数の値を挿入する必要がありますL_sEmpSalary
。
問題は、たとえばと呼ばれる変数のセットアップ テーブルから変数名を取得していることですL_sVarName
。変数には、その値をDBに挿入したい変数L_sVarName
が含まれていますL_sEmpSalary
L_sEmpSalary
そのため、 variableに格納されている variableの値を取得する必要がありますL_sVarName
。
以下はサンプルコードです:
declare
L_sEmpSalary Number :=500;
Sql_Statment Varchar2(500);
Begin
For Rec In GetVars Loop
L_sVarName:=Rec.Var_Name;
/* L_sVarname is Holding now variable 'L_sEmpSalary' which i need to get it's value which is 500*/
Sql_Statment:= ' select :var from dual ';
EXECUTE IMMEDIATE Sql_Statment into L_sVarValue using L_sVarName;
DBMS_OUTPUT.PUT_LINE ( 'Var value = '||L_sVarValue);
End Loop;
end;
DBMS_SQL を試しましたが、うまくいきませんでした。アイデアはありますか?
前もって感謝します