忘记说了,是oracle的数据库,应该可以在creat的前边加个判断吧,oracle可以吗?
解决方案 »
- 关于oracle函数的写法,新手求助~~
- 我想用plsql写个触发器,用一张表更新另一张表
- 磁头寻道到目标数据块时速度会降低吗?
- 怎么用OracleDataReader获得数据库表中某一列的所有值
- 求cnoug邀请码
- 郁闷了好多天的问题了,帮忙看看!!
- sql关系代数遇到麻烦了,请帮忙
- 哪儿有sqlplus下载!请留个下载地址 !或者请mail给我 : [email protected] !
- 那里有“Oracle 8i 数据库开发技术与技巧”这本书下载?
- 请问从Oracle网站(www.oracle.com)上下载的oracle9i是不是试用版?
- 查看分区信息
- 多个条件查询时,可能出现同一条记录被多次检索出来,问如何实现只被检索出一次?
counter NUMBER;
begin
counter := 0;
select count(*) into counter from user_tables where table_name = '123';
if counter = 1 then
execute immediate 'drop table 123';
dbms_output.put_line('table droped');
end if;execute immediate 'create table 123 (CAT VARCHAR(5),primary key (CAT))';
end;
create table 123 ...;脚本都是这样写的,楼主是受sql server的感染吧 :)
create or replace procedure droptable( tablename varchar2)
as
v_str varchar2(200);
v_findtable number(10);
begin
select count(*) into v_findtable from user_tables where upper(tablename)=table_name;
if v_findtable=1 then
v_str := 'drop table '||tablename;
EXECUTE IMMEDIATE v_str;
end if;
end;
/
在脚本中只要在每个创建表之前加上一行exec droptable(TABLENAME)就可以了