例如
CREATE TABLE OMSTEMP.temp_test_3D 
( "PROJECT_NAME"  VARCHAR2(200 BYTE), 
          "TEAM_NUM"  NUMBER(10,0), 
"WORKLOAD_UNIT"  VARCHAR2(32 BYTE), 
"DESIGN_WORKLOAD"       NUMBER(12,2), 
)insert into temp_test_3D(WORKLOAD_UNIT) 
select
UPLOAD_ORG_NAME
from 
MLOG_ADM_OUTSOUINFO_LOG
where 
RECORD_NO='8ac5810b18a82f320118ab003fe7244e'说明:UPLOAD_ORG_NAME表里有该条记录,要求:创建表于插入数据同时执行
我用的Oracle SQL developer

解决方案 »

  1.   

    意义不明,理解不能
    再我理解必须两条语句才能实现
    一条语句好像不行
    除非俩表字段一致可以
    create table a as select * from b
      

  2.   

    生成个sql文件,然后执行这个文件,不过Oracle SQL developer没用过
      

  3.   

    動態SQL
    V_SQL:=' CREATE TABLE OMSTEMP.temp_test_3D ( PROJECT_NAME VARCHAR2(200), 
                                                 TEAM_NUM      NUMBER(10,0), 
                                                 WORKLOAD_UNIT VARCHAR2(32), 
                                                 DESIGN_WORKLOAD      NUMBER(12,2), 
                                                 ) ;';V_SQL:=V_SQL||' INSERT INTO temp_test_3D(WORKLOAD_UNIT)
                    select UPLOAD_ORG_NAME from MLOG_ADM_OUTSOUINFO_LOG 
                    where RECORD_NO=''8ac5810b18a82f320118ab003fe7244e''';
    EXECUTE IMMEDIATE V_SQL;僅供參考啊! 
      

  4.   

    declare 
       v_create varchar2(2000);
       v_insert varchar2(2000);
    begin
       v_create :='CREATE TABLE OMSTEMP.temp_test_3D 
                  (PROJECT_NAME VARCHAR2(200 BYTE), 
                   TEAM_NUM  NUMBER(10,0), 
                   WORKLOAD_UNIT VARCHAR2(32 BYTE), 
                   DESIGN_WORKLOAD   NUMBER(12,2)) ';
        execute immediate v_create;
      v_insert :='insert into temp_test_3D(WORKLOAD_UNIT) 
                   select UPLOAD_ORG_NAME 
                   from MLOG_ADM_OUTSOUINFO_LOG 
                   where RECORD_NO= ||''''||'8ac5810b18a82f320118ab003fe7244e'||''''|| ';
         execute immediate v_insert;
      commit;
    end;具体的语法就是上面的,你可以根据实际情况修改下就好了!