wdsa15413243513215 2017-07-14 09:02 采纳率: 0%
浏览 740

oracle存储过程的一个问题

create or replace procedure evejb
as
v_createsql1 varchar2(400);

v_dropsql1 varchar2(100);
v_count1 number(9);

begin

v_createsql1:='create table emp (empno nvarchar2(60),empname nvarchar2(60),sex nvarchar2(60),sal nvarchar2(60),dept nvarchar2(60),city nvarchar2(60))';
v_dropsql1:='drop table emp';

select count(*) into v_count1 from user_tables where table_name='EMP';

if v_count1>0
then
execute immediate v_dropsql1;
execute immediate v_createsql1;

    commit;
    else
    execute immediate v_createsql1;
    commit;
    end if;
    insert into emp values('XX01','王小二','man','5400','XX','HZ');

end;
我这边写了一个存储过程,想实现如下效果,如果emp表存在,就先drop,再create,如果不存在,就直接create,表建好之后,再insert into到这个表,但是在编译的时候提示,表或试图不存在,这个是在检查insert into emp这行的时候提示的,请问一下存储过程应该怎么去改才能实现我的意图?

  • 写回答

5条回答 默认 最新

  • gongrui_59 2017-07-14 09:27
    关注

    可能创建表权限不足哦

    评论

报告相同问题?

悬赏问题

  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教