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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值