CREATE OR REPLACE PROCEDURE "PRO_GZ_ZTCREATETABLE" (ZTBH in int) is
  sqlStr varchar2(1000);
begin
  sqlStr := 'create table  T_NEWGZ_GZFF_BAK_ZT' || ztbh ||
    ' (
    BMID                 varchar2(200)         ,
    Code                 varchar2(100)         ,
    BMMC                 varchar2(50)          
    )';
  execute immediate sqlStr;
end;

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE "PRO_GZ_ZTCREATETABLE" (ZTBH in int) is
      sqlStr varchar2(1000);
    begin
      sqlStr := 'create table  T_NEWGZ_GZFF_BAK_ZT' || ztbh ||
        ' (
        BMID                 varchar2(200)         ,
        Code                 varchar2(100)         ,
        BMMC                 varchar2(50)          
        )';
      execute immediate sqlStr;
    end;
      

  2.   

    CREATE OR REPLACE PROCEDURE "PRO_GZ_ZTCREATETABLE" (ZTBH in int) --帐套编号
    as
    begin
      declare sqlStr varchar2(1000);
    begin
    sqlStr := 'create table  T_NEWGZ_GZFF_BAK_ZT' || ztbh ||
    ' (
      BMID                 varchar2(200)         null,
       Code                 varchar2(100)         null,
       BMMC                 varchar2(50)          null
    )';
    execute immediate sqlStr;
    end;
    end;
      

  3.   

    CREATE OR REPLACE PROCEDURE "PRO_GZ_ZTCREATETABLE" (ZTBH in int) --帐套编号
    is
    declare sqlStr varchar2(1000);
    begin
    sqlStr := 'create table  T_NEWGZ_GZFF_BAK_ZT' || ztbh ||
    ' (
      BMID                 varchar2(200)         null,
       Code                 varchar2(100)         null,
       BMMC                 varchar2(50)          null
    )';
    execute immediate sqlStr;end;
      

  4.   

    BMMC                 varchar2(50)          null; 去掉分号即可
      

  5.   

    那么我就不太清楚了,再定义存储过程时,用is,和as有什么区别马