v_DataType varchar2是字符类型的字符串,我想用他来定义一个新的数据类型
比如:
create or replace procedure defineDataType(
   p_DataType in varchar2(50)
) as
begin
   变量v_DateType 
   // 当 defineDataType('number');
   // v_DateType 类型为number
   // 当 defineDataType('Date');
   // v_DateType 类型为Date....
end;用传进入字符串参数所代表的数据类型来定义过程中 变量的数据类型
能够做到吗
有什么函数 或者是方法可以实现吗
集思广益 还请多多指教 

解决方案 »

  1.   

    不知道你的具体用意是什么尝试:
    SQL> create or replace procedure pdemo(v_type varchar2) as
      2  v_sql varchar2(500);
      3  begin
      4  v_sql:='
      5  declare
      6    v_datetype '||v_type||';
      7  begin
      8    v_datetype:=sysdate;
      9    dbms_output.put_line(v_datetype);
     10  end;';
     11  execute immediate v_sql;
     12  end;
     13  /过程已创建。SQL> set serveroutput on
    SQL> exec pdemo('date');
    15-2月 -06PL/SQL 过程已成功完成。