oracle语法中没有mysql语法中的drop table table_name if exists 这种形式,但是我们可以曲线救国,使用orale的存储过程实现同样的效果,下面给出具体做法:
create or replace procedure proc_dropifexists(
p_table in varchar2
) is
v_count number(10);
begin
select count(*)
into v_count
from user_objects
where object_name = upper(p_table);
if v_count > 0 then
execute immediate 'drop table ' || p_table ||' cascade constraints';
end if;
end;
/
--调用
exec proc_dropifexists('mytable'); ......
create or replace procedure proc_dropifexists(
p_table in varchar2
) is
v_count number(10);
begin
select count(*)
into v_count
from user_objects
where object_name = upper(p_table);
if v_count > 0 then
execute immediate 'drop table ' || p_table ||' cascade constraints';
end if;
end;
/
--调用
exec proc_dropifexists('mytable'); ......
本文介绍了如何通过Oracle的存储过程曲线救国地实现MySQL中的droptableifexists功能,包括具体操作步骤和实例演示。
3299

被折叠的 条评论
为什么被折叠?



