给你个详细例子:/* 测试表 */
CREATE TABLE test(
test_seq INTEGER NOT NULL,
test_date DATE NOT NULL,
CONSTRAINT test_pk PRIMARY KEY (test_seq)
);/* 测试过程 */
CREATE OR REPLACE PROCEDURE up_test
AS
lv_test_seq PLS_INTEGER;
BEGIN
SELECT NVL(MAX(test_seq), 0)
INTO lv_test_seq
FROM test; INSERT INTO test(test_seq, test_date)
VALUES (lv_test_seq + 1, sysdate); COMMIT;
END up_test;
/
SHOW ERROR;/* 提交作业 ---- 系统返回作业号 ---- 通常不采用 */
DECLARE
lv_job_num NUMBER;
BEGIN
DBMS_JOB.SUBMIT(lv_job_num, 'up_test;', SYSDATE, 'sysdate + (120/(24*60*60))');
DBMS_OUTPUT.PUT_LINE('Job ID:' || TO_CHAR(lv_job_num));
COMMIT;
END;
//* 提交指定作业号的作业 : 每 120 秒运行一次 */
BEGIN
DBMS_JOB.ISUBMIT(1, 'up_test;', SYSDATE, 'sysdate + (120/(24*60*60))');
COMMIT;
END;
//* 删除作业 */
BEGIN
DBMS_JOB.REMOVE(1);
COMMIT;
END;
//* 更改作业属性 */
BEGIN
DBMS_JOB.CHANGE(1, 'up_test;', SYSDATE, 'sysdate + (120/(24*60*60))');
COMMIT;
END;
//* 更改作业下次运行时间 */
BEGIN
DBMS_JOB.NEXT_DATE(1, SYSDATE + (120/(24*60*60)));
COMMIT;
END;
//* 调整作业运行周期 */
BEGIN
DBMS_JOB.INTERVAL(1, 'sysdate + (86400/(24*60*60))');
COMMIT;
END;
//* 停止作业自动运行 */
BEGIN
DBMS_JOB.BROKEN(1, TRUE);
COMMIT;
END;
//* 强制运行作业 */
BEGIN
DBMS_JOB.RUN(1);
END;
/
CREATE TABLE test(
test_seq INTEGER NOT NULL,
test_date DATE NOT NULL,
CONSTRAINT test_pk PRIMARY KEY (test_seq)
);/* 测试过程 */
CREATE OR REPLACE PROCEDURE up_test
AS
lv_test_seq PLS_INTEGER;
BEGIN
SELECT NVL(MAX(test_seq), 0)
INTO lv_test_seq
FROM test; INSERT INTO test(test_seq, test_date)
VALUES (lv_test_seq + 1, sysdate); COMMIT;
END up_test;
/
SHOW ERROR;/* 提交作业 ---- 系统返回作业号 ---- 通常不采用 */
DECLARE
lv_job_num NUMBER;
BEGIN
DBMS_JOB.SUBMIT(lv_job_num, 'up_test;', SYSDATE, 'sysdate + (120/(24*60*60))');
DBMS_OUTPUT.PUT_LINE('Job ID:' || TO_CHAR(lv_job_num));
COMMIT;
END;
//* 提交指定作业号的作业 : 每 120 秒运行一次 */
BEGIN
DBMS_JOB.ISUBMIT(1, 'up_test;', SYSDATE, 'sysdate + (120/(24*60*60))');
COMMIT;
END;
//* 删除作业 */
BEGIN
DBMS_JOB.REMOVE(1);
COMMIT;
END;
//* 更改作业属性 */
BEGIN
DBMS_JOB.CHANGE(1, 'up_test;', SYSDATE, 'sysdate + (120/(24*60*60))');
COMMIT;
END;
//* 更改作业下次运行时间 */
BEGIN
DBMS_JOB.NEXT_DATE(1, SYSDATE + (120/(24*60*60)));
COMMIT;
END;
//* 调整作业运行周期 */
BEGIN
DBMS_JOB.INTERVAL(1, 'sysdate + (86400/(24*60*60))');
COMMIT;
END;
//* 停止作业自动运行 */
BEGIN
DBMS_JOB.BROKEN(1, TRUE);
COMMIT;
END;
//* 强制运行作业 */
BEGIN
DBMS_JOB.RUN(1);
END;
/
是不是直接提交指定作业号的作业 ?这些代码要写在哪里?