主要是查询all_tables表的TABLE_NAME和OWNER,如果表存在,则执行execute immediate 'drop table
TABLE_NAME';
--判断表是否存在,如果存在则删除
declare
num number;
begin
select count(1) into num from all_tables where TABLE_NAME = 'EMP' and OWNER='SCOTT';
if num=1 then
execute immediate 'drop table EMP';
end if;
end;
/
--创建表
CREATE TABLE EMP
(EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7, 2),
COMM NUMBER(7, 2),
DEPTNO NUMBER(2));
上面是创建表下面我们来看一个删除表前判断表名是否存在若存在则删除例子。
在Oracle中若删除一个不存在的表,如 "DROP TABLE notExistTable",则会提示:
ORA-00942:表或视图不存在,
若使用程序执行该语句则会报异常,这就需要我们再删除表前判断该表是否存在,若存在则删除.
下面是不使用存储过程实现删除表的SQL:
DECLARE num NUMBER;
BEGIN
SELECT COUNT(1) INTO num FROM USER_TABLES WHERE TABLE_NAME = UPPER('tableName') ;
IF num > 0 THEN
EXECUTE IMMEDIATE 'DROP TABLE tableName' ;
END IF;
END;
创造与魔法九游版本
创造与魔法九游版采用了极致创新的魔幻游戏玩法感受,游戏具备最
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类