sql='create 
改为
sql:='create 另外注意加空格的问题

解决方案 »

  1.   

    sql:='create table '||table_name ||'(
    id char(6),
    name varchar(40)
    )';
    1 加 :
    2 table 后加空格
    3 注意是否为当前用户
      

  2.   

    create or replace procedure proceduretest2
    (table_name in varchar2)
    is
    begin
    sql:='create table '||table_name ||'(
    id char(6),
    name varchar(40)
    )';
    execute sql;
    end;还是报同样的错!
      

  3.   

    create or replace procedure proceduretest2
    (table_name in varchar2)
    IS
    strsql VARCHAR2(400); -- 变量需要先定义再使用,尽量不要用oralce关键字,sql -〉strsql
    begin
    -- 冒号不是全角
    strsql :='create table '||table_name ||'(
    id char(6),
    name varchar(40)
    )';
    -- 执行动态sql是 execute IMMEDIATE
    execute IMMEDIATE strsql;
    end;