小弟这两天要用的Oracle的定时任务,可是小弟以前没用,还请各位高手帮帮忙 谢谢了!
小弟主要想实现的功能如下:
有一张USER表 包含两个字段,U_NAME, U_ADDRESS 都是VARCHAR(2)的。
现在我想让数据库 每天晚上12点自动执行一次,从USER表查出U_NAME , U_ADDRESS两个字段的值,
然后把这两个字段的值 保存到PERSON表的P_NAME, P_ADDRESS 字段里面!谢谢各位好心人了!
小弟主要想实现的功能如下:
有一张USER表 包含两个字段,U_NAME, U_ADDRESS 都是VARCHAR(2)的。
现在我想让数据库 每天晚上12点自动执行一次,从USER表查出U_NAME , U_ADDRESS两个字段的值,
然后把这两个字段的值 保存到PERSON表的P_NAME, P_ADDRESS 字段里面!谢谢各位好心人了!
-- 一个例子:(一个Job,每10分钟自动执行调用hllclientlogon_history_porc存储过程
variable job1 number;begin
dbms_job.submit(:job1,'hllclientlogon_history_porc;',sysdate,'sysdate+1/144');
end;
/
AS
BEGIN
INSERT INTO person(p_name,p_address)
SELECT u_name, u_address FROM user;
-- 有啥Where条件自己加
COMMIT;
END;
/
variable job1 number;begin
dbms_job.submit(:job1,'hllclientlogon_history_porc;',sysdate,''TRUNC(SYSDATE+1)'); -- 每天午夜12点
end;
/
-- 哈哈:我就是来混的分的!
CREATE PROCEDURE insert_person_proc
AS
BEGIN
INSERT INTO person(p_name,p_address)
SELECT u_name, u_address FROM user;
-- 有啥Where条件自己加
COMMIT;
END;
/
variable job1 number;begin
dbms_job.submit(:job1,'insert_person_proc;',sysdate,''TRUNC(SYSDATE+1)'); -- 每天午夜12点
end;
/
variable job1 number;begin
dbms_job.submit(:job1,'insert_person_proc;',sysdate,''TRUNC(SYSDATE+1)'); -- 每天午夜12点
end;不是很明白啊?谢谢
-- 呵呵,多了个单引号(')-- 修正如下:CREATE PROCEDURE insert_person_proc
AS
BEGIN
INSERT INTO person(p_name,p_address)
SELECT u_name, u_address FROM user;
-- 有啥Where条件自己加
COMMIT;
END;
/
variable job1 number;begin
dbms_job.submit(:job1,'insert_person_proc;',sysdate,'TRUNC(SYSDATE+1)'); -- 每天午夜12点
end;
/
CREATE PROCEDURE insert_person_proc
AS
BEGIN
INSERT INTO person(p_name,p_address)
SELECT u_name, u_address FROM user;
COMMIT;
END;
variable job number;begin
dbms_job.submit(:job,'insert_person_proc;',sysdate,'TRUNC(SYSDATE+1)');
end;