oracle中用存储过程创建一张table

来源:互联网 发布:mac系统iso镜像百度云 编辑:程序博客网 时间:2024/06/04 00:48

PROCEDURE SP_CREATE_new_table
(
   on_flag      OUT      NUMBER,
   out_reason   OUT      VARCHAR2
)
is
v_sql1      varchar2(2000);
v_a   varchar2(1);
v_b   varchar2(1);
v_c   varchar2(1);

begin


select 'a' into v_a from dual;
select 'b','c' into v_b,v_c from dual;

v_sql1 :='create table '||v_a||'('||v_b||' varchar2(1),'||v_c||' varchar2(1))';
EXECUTE IMMEDIATE v_sql1;

commit;


EXCEPTION
   WHEN OTHERS
   THEN
      on_flag := SQLCODE;
      out_reason := SUBSTR (SQLERRM, 1, 255);
      ROLLBACK;
END;
运行后,执行select * from a;
表名就叫a,字段名叫b和c

原创粉丝点击