请问各位大虾,oracle的存储过程里如何通过一个字符串名称得到变量的值
例如
v_abc:='123';
v_xyz:='456';
v_name:='v_abc';dbms_output.put(xxx) --xxx该怎么写可以通过v_name输出得到123,就是当v_name等于v_abc时就输出v_abc的值123,等于v_xyz时,可以得到456不要说通过if一个个判断的方法

解决方案 »

  1.   

    别用变量,用临时表保存那些值吧。或者用数组变量也可以,v_name去指定数组下标。
      

  2.   

    用decode函数试一下select decode(v_name,v_abc,v_abc,v_xyz,v_xyz) into v_name from dual;
      

  3.   


    程序本身的架构是一个存储过程procedure xxx(param1,param2...)有很多个参数,不想改动这个架构,会很麻烦没有这样的方法可以用字符串得到变量的值么