问题描述:写了一个存储过程判断表是否存在,存在就删除这张表。结果一直都删除不掉。
试了2个小时都无法删除,后来发现在结尾的时候少了斜杠,这个斜杠不能少,否则无法删除表。
以下2种方法参考
第一种,
-- 第一步,执行下面的存储过程
create or replace procedure PROC_dropTable(tabName in varchar2)
as
-- 引用user_tables表中的tableName的类型;
tableName user_tables.table_name%type;
mycount number(10);
begin
--把存储过程传过来的参数,赋值给tableName;
tableName:= tabName;
SELECT COUNT(*) INTO mycount FROM user_tables WHERE TABLE_NAME = tableName ;
if mycount>0 then
execute immediate 'DROP TABLE CESII.'||tableName;
end if;
end;
-- 注意这里的【斜杠】不能少,否则无法删除哦!
/
-- 第二步,直接调用该存储过程。
call PROC_dropTab