+ -
当前位置:首页 → 问答吧 → oracle操作语句

oracle操作语句

时间:2011-10-17

来源:互联网

在Oracle中创建表空间或表的时候能不能写一句判断,如果已存在的话则删除已存在的,创建一个新的,如果没有则直接创建。这样的建表空间或表的语句??

作者: Clowind   发布时间: 2011-10-17

好比这样(伪代码):
if exits("tablespace_name") drop tablespace tablespace_name;--如果已存在表空间则删除已存在的
create tablespace tablespace_name datafile……;--继而创建
这样的话整个sql文件按一下F8就可以执行到底了,我毕业考试上要用,因为老师说如果一键按下去报错的话就视为考试不及格,汗~网上搜了白天也没好的回答,~只好来求助大家。

作者: Clowind   发布时间: 2011-10-17

可以使用plsql代码块

declare

  v_tablespace varchar2(50);
  i_count number;
  v_sql varchar2(4000);

begin

  select count(t.NAME) into i_count from v$tablespace t where lower(t.NAME) = 'XXXXX';
   
  if (i_count = 1) then 
   
  dbms_output.put_line('xxxx 表空间已经存在!');
  else
  v_sql ='create tablespace xxxx datafile 'xxxxx/xxx/xxx/xxxxx/xxxx.dbf' size xxx ';
  execute immediate v_sql;
  dbms_output.put_line('xxxx 表空间已经创建成功!');

  end if;
end;

作者: lkz2004   发布时间: 2011-10-17

这句话这样写:
上面写的有点问题
v_sql ='create tablespace xxxx datafile ''xxxxx/xxx/xxx/xxxxx/xxxx.dbf'' size xxx ';

作者: lkz2004   发布时间: 2011-10-17

热门下载

更多