度量快速开发平台-专业、快速的软件定制快开平台
标题:
oracle创建表之前判断表是否存在,如果存在则删除已有表
[打印本页]
作者:
张兴康
时间:
2020-6-4 15:21
标题:
oracle创建表之前判断表是否存在,如果存在则删除已有表
在sqlserver中,有if exit()这样的语句,但是在oracle中却没有。如果直接使用drop table那么如果表不存在会报错,导致后续语句无法运行。因此可以通过一个存储过来来进行判断。
主要是查询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));
复制代码
作者:
张兴康
时间:
2020-6-4 15:22
作者:
caixuqad
时间:
2020-6-5 19:09
作者:
张兴康
时间:
2020-6-7 14:03
caixuqad 发表于 2017-8-5 19:09
作者:
fteair
时间:
2020-6-7 14:22
作者:
caixuqad
时间:
2020-6-7 19:28
作者:
张兴康
时间:
2020-6-8 14:31
caixuqad 发表于 2017-8-7 19:28
终帖............ ...............
作者:
caixuqad
时间:
2020-6-9 18:21
作者:
张兴康
时间:
2020-6-10 15:08
caixuqad 发表于 2017-8-9 18:21
终帖 终帖 终帖 重要的事情说三遍
作者:
caixuqad
时间:
2020-6-10 18:24
欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/)
Powered by Discuz! X3.2