首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

判断表tb是否存在,存在则删除

2013-10-29 
求助:判断表tb是否存在,存在则删除oracle 求在一条脚本中,判断表tb是否存在,存在则删除是在一条脚本脚本中

求助:判断表tb是否存在,存在则删除
oracle 求在一条脚本中,判断表tb是否存在,存在则删除

是在一条脚本脚本中,就是说只能有一个分号;
[解决办法]
用动态语句吧 EXECUTE IMMEDIATE
[解决办法]
oracle中不好写吧

mysql和sqlserver到是可以
[解决办法]
自己写个存储过程,具体查询表是否存在可参考select count(1) from user_tables where table_name='表名'; 
[解决办法]

引用:
oracle中不好写吧

mysql和sqlserver到是可以


楼主想用一个分号就搞定,我觉得是不可能的,如下可以参考:

--判断表是否存在,如果存在则删除
declare 
      num   number; 
begin 
      select count(1) into num from user_tables where TABLE_NAME = 'EMP';
      if   num=1   then 
          execute immediate 'drop table EMP'; 
      end   if; 
end; 


[解决办法]
直接 drop table tb;
存在则删除,不存在就报错,你可以后续捕捉异常

热点排行