ORACLE如果存在表就删除不存在就创建 老猫

最近做信息采集,总是需要创建临时表,一同连接8个库同时开展。

但是ORACLE里面没有像SQLSERVER那样的

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[HY_BSCDNM_J]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[HY_BSCDNM_J]
GO

CREATE TABLE .......

为避免总是要去点击SURE,所以参考了网上的方法,在创建临时表的时候,省去点击的麻烦。

待采集脚本写完全,一步执行到位等待结果的导出,省大量时间去完成下个Request。

declare
  i integer;
begin
  select count(*) into i from user_tables where table_name = 'XB_TEST001';
  if i > 0 then
    dbms_output.put_line('该表已存在!');
    execute immediate 'DROP TABLE XB_TEST001';
  else
    dbms_output.put_line('该表不存在');
  end if;
  execute immediate 'CREATE TABLE XB_TEST001(id int primary key,name varchar(50))';
end;

原文地址:https://www.cnblogs.com/oldcat/p/2151196.html