请问怎么让存储过程自己运行 有两台机器A,B,B上有数据库和存储过程,我想在A上连到B,调用存储过程,但这个存储过程运行时间比较长,我不想A和B一直连着等运行完再断掉,我想调用完存储过程后就断掉连接,让存储过程自己跑,请问怎么可以实现,感谢啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 linux/unix的话,就写一个脚本调存储过程#! /bin/shsqlplus -S username/password@dbname<<!set heading offset serveroutput onset feedback offspool procname.log$procname;end;!nohup调用这个命令。如果b都是windows的话,远程登录就可以了吧 非常感谢,B机器是UNIX,我的想能不能不通过脚本,通过数据库内部触发器之类的什么的调用存储过程再让它自己跑,请问可以实现吗 你直接在B上建一个JOB运行就是了。。 在oracle上创建job的示例,可以参考下。--每天早上7点执行一次DECLARE job_id NUMBER; BEGIN DBMS_JOB.SUBMIT ( job => job_id ,what => 'prc_name;' ,next_date => to_date('2011-06-01 15:47:00','yyyy-mm-dd hh24:mi:ss') ,interval => 'trunc(sysdate+1)+(7/24)' ); SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(job_id )); COMMIT;END;/ 一道数据库的面试题 oracle 结果集转换为字符串 求解:这样的SQL语句如何查询 关于UPDATE SELECT的问题 oracle转定义字符,急啊 关于向分区表中插入数据的问题,请高手指教? oracle安装问题,急!!! 帮忙 关于Oracle数据库的imp与exp的问题,在线等待 如何用命令析取表结构??(在线等待…… 高分请教oracle的default sysdate 怎么让每次写数据库时自动更新最新时间 连接远程数据库,网络忽然断开,程序崩溃
#! /bin/sh
sqlplus -S username/password@dbname<<!
set heading off
set serveroutput on
set feedback off
spool procname.log
$procname;
end;
!
nohup调用这个命令。如果b都是windows的话,远程登录就可以了吧
DECLARE
job_id NUMBER;
BEGIN
DBMS_JOB.SUBMIT
( job => job_id
,what => 'prc_name;'
,next_date => to_date('2011-06-01 15:47:00','yyyy-mm-dd hh24:mi:ss')
,interval => 'trunc(sysdate+1)+(7/24)'
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(job_id ));
COMMIT;
END;
/