龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle数据库中如果存在表就删除不存在就创建的实例

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
在 Oracle数据库 的操作中,遇到了做信息采集的情况,总是需要创建临时表,一同连接8个库同时开展。但是Oracle里面没有像SQL Server那样的语句: ifexists(select*fromdbo.sysobjectswhere id = obje

Oracle数据库的操作中,遇到了做信息采集的情况,总是需要创建临时表,一同连接8个库同时开展。但是Oracle里面没有像SQL Server那样的语句:

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

为避免总是要去点击SURE,所以参考了网上的方法,在创建临时表的时候,省去点击的麻烦。待采集脚本写完全,一步执行到位等待结果的导出,省大量时间去完成下个Request。

  1. declare  
  2. i integer;  
  3. begin  
  4. select count(*) into i from user_tables where table_name = 'XB_TEST001';  
  5. if i > 0 then  
  6. dbms_output.put_line('该表已存在!');  
  7. execute immediate 'DROP TABLE XB_TEST001';  
  8. else  
  9. dbms_output.put_line('该表不存在');  
  10. end if;  
  11. execute immediate 'CREATE TABLE XB_TEST001(id int primary key,name varchar(50))';  
  12. end; 

以上就是Oracle数据库中如果存在表就删除不存在表就创建的代码实例的全部过程,本文我们就介绍到这里了,希望本次的介绍能够对您有所收获!

精彩图集

赞助商链接