各位大侠好:
在建立create table时,table后面是否只能是表名如我 char abc[]="aaaaa",exec sql creat table abc ();那我建立的表名就是abc,而不是我想要的aaaaa啊谢谢

解决方案 »

  1.   

    可以用动态sql建
    declare
     v_abc varchar2(10);
     v_sql varchar2(200);
    begin
     v_abc:='aaaaa';
     v_sql:='create table '||v_abc||'(a varchar2(1),b number)';
     execute immediate v_sql;
    end;
    /
      

  2.   

    请问可以再讲详细点可以吗:declare begin
    cs_char abc;
    declare end;char abc=aaaaa
    我的理解果然很差劲,不好意思
    请说详细点,非常谢谢
      

  3.   

    不是你的程序语言是怎么运行sql语句的
    我写的是pl/sql,可以直接在sqlplus里运行,如果用其他程序调用的话也可以做成存储过程。
      

  4.   

    能帮忙解决一下oracle 多元线性问题吗
      

  5.   

    当然只能是表名啊。不然还不乱了?如果你想用动态的表名,那只能使用动态sql。也就是1楼说的那种方法。
      

  6.   

    是的
    要用动态的SQL,可以用prepare,
    好的 
    结贴了