create or replace procedure drop_table(name varchar2) is
i number;
begin
select count(*) into i from tab where tname=name;
if i>0 then
execute immediate 'drop table '||name;
end if;
end;
i number;
begin
select count(*) into i from tab where tname=name;
if i>0 then
execute immediate 'drop table '||name;
end if;
end;
解决方案 »
- 救命啊,imp数据的时候报:遇到 ORACLE 错误 2270
- ORACLE 一个单元格的值拆分成多个 ,请见例子
- 写了个函数要求每次返回的值为D0000001,下次调用为D00000002以此类推
- 小弟求助,数据重复的问题
- 高分求助一个select语句, 不够再加!
- oracle9怎么建数据库
- 请问这个函数哪有错?为何动态就不行?
- 删除数据库用户求助!
- 各位高手 OracleOraHome82HTTPServer 服务 无法启动怎么回事?? 急呀!!
- group by 语句中的sequence 问题?
- 求这些书的中文版下载
- 用插入来触发某一Triggers,如何在Triggers里获得插入操作的sql呢?
i number;
begin
select count(*) into i from user_tables where table_name=name;
if i>0 then
execute immediate 'drop table '||name;
end if;
end;
create or replace procedure drop_table(name in varchar2) is
v_msg varchar2(200);
begin
select 1 from user_tables where table_name = upper(name);
execute immediate 'drop table '||name;
insert into log(log_msg) values(' table '||tname||' droped ');
commit;
exception
when no_data_found then
insert into log(log_msg) values('table '||name||' does not exists ' );
commit;
when others then
v_msg := sqlerrm;
insert into log(log_msg) values('error raised : '||v_msg);
end drop_table;
/
DECLARE
X_1 NUMBER;
BEGIN
SELECT 1 INTO X_1 FROM TABLE_NAME;
DROP TABLE TABLE_NAME;
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE = -942 THEN
你的操作处理
END IF;
create or replace procedure drop_table is
begin
set echo off
set feedback off
spool c:sql.sql
select 'drop table '||table_name';' from all_tables;
spool off
set feedback on
set echo on
start c:sql.sql
end;
execute procedure_name;