0

当我尝试运行以下代码时,出现“PL/SQL 编译错误”之类的错误。我在这做错了什么?

declare vsql varchar2(500);
 begin
   vsql:='begin
   create global temporary table temp_subset 
    ( id number
      ,"Category"  varchar2(2048)
      ,"Class"  varchar2(2048)
      ,"Measure"  varchar2(2048)
      ,"Actuals Year Total"  varchar2(2048)
      ,"COL NAME" varchar2(256)
      ,value varchar2(2048)
    );
end;';
execute immediate vsql;
end;

谢谢。

4

1 回答 1

0

尝试这个:

vsql:='
   create global temporary table temp_subset 
    ( id number
      ,"Category"  varchar2(2048)
      ,"Class"  varchar2(2048)
      ,"Measure"  varchar2(2048)
      ,"Actuals Year Total"  varchar2(2048)
      ,"COL NAME" varchar2(256)
      ,value varchar2(2048)
    ) on commit delete rows';

如果需要创建两个表:

vsql:='
  begin
    execute immediate ''create table t1 ()'';
    execute immediate ''create table t2 ()'';
  end;
';
于 2013-04-18T05:50:20.543 回答