oracle存储过程本帖最后由 pchyping 于 2013-04-03 12:23:11 编辑
create or replace procedure test_droptable
(
dbname varchar2,/*传入数据库名称参数*/
tablename varchar2,/*传入表名参数*/
v1 int/*时间偏移量*/
)
as
k_date date;
q_sqlstr varchar2(200);
num int;
begin
/*执行语句块*/
/*
step1: 获得系统时间
根据系统时间来加上偏移量得到要执行的时间变量 _date
step2: 判断数据库中是否有这张表
yes:拼接sql语句 drop table schema.table_name||_date
no:直接返回
step3:执行sql
*/
k_date:='select sysdate+v1 from dual';
num:='select count(1) from all_tables where TABLE_NAME='||'''tablename''';
if (num=1) then
q_sqlstr:='drop table schema.tablename||_date';
else if(num=0)
return;
end if;
execute immediate q_sqlstr;
end;
请大侠帮忙看看,提示TEST_DROPTABLE无效
oracle
存储
------解决方案--------------------还有
if ...
else if ...
end if;
这又是什么的语法?
你编译这个过程时,会给你报很多语法错误的,对照着改吧。