例如
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
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
再我理解必须两条语句才能实现
一条语句好像不行
除非俩表字段一致可以
create table a as select * from b
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;僅供參考啊!
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;具体的语法就是上面的,你可以根据实际情况修改下就好了!