在Oracle中创建表空间或表的时候能不能写一句判断,如果已存在的话则删除已存在的,创建一个新的,如果没有则直接创建。这样的建表空间或表的语句??
解决方案 »
- sql 调用 自定义function,出现问题。
- linux pro*c 的编译与生成
- 存储过程问题,如何定义两个游标
- 求助:如何在oracle9i 作一个触发器,功能是在表insert或update的时候,将表的修改以及修改的时间插入到另一个表中
- oracle817的问题
- 各位网友请帮忙,有关trigger的问题,在线等。
- 关于Oracle Warehouse Builder,简单捡分
- pl/sql developer这个工具哪里有正式版?
- 这个存储过程又有点问题了!!!
- 问一个odi的问题。。劳烦了解odi的大神解答
- 关于触发器中的before 与 after的实质的区别?
- 更新表的问题:联合两张表如何更新?
if exits("tablespace_name") drop tablespace tablespace_name;--如果已存在表空间则删除已存在的
create tablespace tablespace_name datafile……;--继而创建
这样的话整个sql文件按一下F8就可以执行到底了,我毕业考试上要用,因为老师说如果一键按下去报错的话就视为考试不及格,汗~网上搜了白天也没好的回答,~只好来求助大家。
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;
上面写的有点问题
v_sql ='create tablespace xxxx datafile ''xxxxx/xxx/xxx/xxxxx/xxxx.dbf'' size xxx ';
但你这是创建表空间或表。据我所知只能用plsql实现。2楼+1