oracle 求在一条脚本中,判断表tb是否存在,存在则删除
是在一条脚本脚本中,就是说只能有一个分号;
------解决方案--------------------
用动态语句吧 EXECUTE IMMEDIATE
------解决方案--------------------
oracle中不好写吧
mysql和sqlserver到是可以
------解决方案--------------------
自己写个存储过程,具体查询表是否存在可参考select count(1) from user_tables where table_name='表名';
------解决方案--------------------
楼主想用一个分号就搞定,我觉得是不可能的,如下可以参考:
--判断表是否存在,如果存在则删除
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;
存在则删除,不存在就报错,你可以后续捕捉异常