create or replace procedure del_msg_sixm as
del_time varchar(10);
begin
select to_char(add_months(sysdate,-6),'YYYYMM') into del_time from dual;
delete from msg_p2p_rsp
where substr((to_char(fsendtime,'YYYYMM')),1,6) < del_time;
end del_msg_sixm;小弟初写oracle的存储过程,请问上面的语句这样写有没有问题?另外想问一下,一般如何执行存储过程的?我在PL/SQL developer里面右键点击该存储过程,然后test它,放了很久都一直在执行状态,是怎么回事?请各位帮忙啊
del_time varchar(10);
begin
select to_char(add_months(sysdate,-6),'YYYYMM') into del_time from dual;
delete from msg_p2p_rsp
where substr((to_char(fsendtime,'YYYYMM')),1,6) < del_time;
end del_msg_sixm;小弟初写oracle的存储过程,请问上面的语句这样写有没有问题?另外想问一下,一般如何执行存储过程的?我在PL/SQL developer里面右键点击该存储过程,然后test它,放了很久都一直在执行状态,是怎么回事?请各位帮忙啊
解决方案 »
- 关于监听的问题
- 本人在安装ORACLE 11g时遇到个问题:
- oracle 10g rac终于装完了,最后还是出了个小问题
- 求一条Sql急急急。。。。。。。。。。。。
- ORACLE 表的CHECK约束问题
- ado 读取oracle number型字段的问题
- 是否可以以某一列为依据将一行分解为多行的SQL语句?
- 请问oracle中的段是怎么分配的,是不是一个数据库对象占用一个段,比如一个表空间有三张表,那它就有三个数据段?
- redhat8.0下如何安装oracle9i,提供资料也可!急需!!!!!!!!!!
- Oracle数据库配置为归档模式,可以配置多个归档目录产生多个归档日志文件,如何在其他的机器上产生归档日志的镜像文件?
- Update奇怪的问题
- 通过调用oracle存储过程来操作数据库表能过提高效率吗?
应该是你的过程死在那里,死循环了吧。
pl/sql: command Window下
begin
procedure_name;
end;
這樣就可以了。
create or replace procedure del_msg_sixm as
del_time date;
begin
select sysdate - 300 into del_time from dual;
delete from msg_p2p_rsp where sendtime < del_time;
commit;
end del_msg_sixm;
建立存储过程成功,但是在command窗口下面exec del_msg_sixm;该存储过程一直在executing状态,但是用命令delete from del_msg_sixm where sendtime < sysdate - 300
10秒就可以搞掂了不知道怎么回事?
del_time date;
begin
select sysdate - 300 into del_time from dual;
delete from msg_p2p_rsp where sendtime < del_time;
commit;
end del_msg_sixm;
/這樣才可以其實都沒有執行,要加上'/'符,表示執行...
執行的語法是什么樣子?
exec del_msg_sixm
這樣後,一直顯示sql>嗎?
"exec del_msg_sixm;
/"