提取数据涉及到A(1字段,2字段,3字段),B(1字段,4字段,5字段)三个表,具体提取如:SELECT A.1,SUM(2) ,COUNT(3),B.4,B.5 FROM A , B WHERE A.1=B.1 GROUP BY A.1,B.4,B.5 ;
如何用存储过程实现每月定时提取以上数据的功能,请高手指点,本人将不胜感激!
如何用存储过程实现每月定时提取以上数据的功能,请高手指点,本人将不胜感激!
解决方案 »
- 如何优化此sql语句
- 查看当前用户没有角色
- ora-12500:TNS监听程序无法启动服务器进程 的 问题,在线等。
- 怎样使数据库启动时自动读取指定的初始化文件
- Oracle左连接,右连接
- 装KVW3000后,报连接错误:ORA-12571:TNS:包写入程序失败?
- 在pb向oracle过程传date型参数时,报无效月份错误,调用过程错误!!!望指点
- Primary key 和 Unique column
- 执行insert操作,一直提示excuting...。没反应,也没异常,请教造成这样的原因有哪些?
- oracle9i数据库里多余空格的问题
- oracle9i导结构到powerdesigner11表或视图不存在
- 有点难度的:怎样使用游标表从一个动态的中取得数据,并遍历每一个字段。
2、建一个过程
CREATE OR REPLACE PROCEDURE TEST
IS
tmpvar NUMBER;
BEGIN
tmpvar := 0;
--插入数据和时间
INSERT INTO c
SELECT a.a, SUM (b), COUNT (c), b.d, b.e, SYSDATE
FROM a, b
WHERE a.a = b.a
GROUP BY a.a, b.d, b.e; COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
WHEN OTHERS
THEN
-- Consider logging the error and then re-raise
RAISE;
END TEST;
/3、建一个job定时执行过程。其中next_date决定了第一次执行时间,interval决定了更新周期,这里的写法是每月1号执行。
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
(
job => X
,what => 'YJ.TEST;'
,next_date => to_date('17-09-2007 00:00:00','dd/mm/yyyy hh24:mi:ss')
,interval => 'trunc(sysdate+32,'MM')'
,no_parse => FALSE
);
END;4、如果问题解决了,记得关闭,我要分。