oracle JOB,
-- 实例
CREATE TABLE DATE_LOG
(create_date DATE CONSTRAINT create_date_pk PRIMARY KEY)
--PROC
CREATE OR REPLACE PROCEDURE create_date_log_row
IS
BEGIN
INSERT INTO date_log(create_date)VALUES(sysdate);
END;
--JOB
variable jobno number;--存储job号码
begin
dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440')
Commit;
end;上面无效SQL ,,有什么问题。。,
-- 实例
CREATE TABLE DATE_LOG
(create_date DATE CONSTRAINT create_date_pk PRIMARY KEY)
--PROC
CREATE OR REPLACE PROCEDURE create_date_log_row
IS
BEGIN
INSERT INTO date_log(create_date)VALUES(sysdate);
END;
--JOB
variable jobno number;--存储job号码
begin
dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440')
Commit;
end;上面无效SQL ,,有什么问题。。,
SQL> variable jobno number;
SQL>
SQL> begin
2 dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440')
3 Commit;
4 end;
5 /
begin
dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440')
Commit;
end;
ORA-06550: line 4, column 3:
PLS-00103: Encountered the symbol "COMMIT" when expecting one of the following: := . ( % ;
The symbol ":=" was substituted for "COMMIT" to continue.
jobno
---------
SQL>
SQL> begin
2 dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440');
3 Commit;
4 end;
5 /
PL/SQL procedure successfully completed
jobno
---------
206
SQL>
dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440');
sql command 模式下执行
在命令模式下能运行! 就二楼的!
dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440');--分号
Commit;
end;
select语句用分号;结尾.过程和匿名块用/来执行.
Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0
Connected as scott
SQL>
SQL> CREATE TABLE DATE_LOG
2 (create_date DATE CONSTRAINT create_date_pk PRIMARY KEY);
Table created
SQL>
SQL> CREATE OR REPLACE PROCEDURE create_date_log_row
2 IS
3 BEGIN
4 INSERT INTO date_log(create_date)VALUES(sysdate);
5 END;
6 /
Procedure created
SQL> variable jobno number;--存储job号码
SQL>
SQL> begin
2 dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440');
3 Commit;
4 end;
5 /
PL/SQL procedure successfully completed
jobno
---------
209
SQL>
--sqlplus下完成的 你的是什么工具 或者你去PlSqlDev.exe的命令窗口去
SQL> CREATE TABLE DATE_LOG
2 (create_date DATE CONSTRAINT create_date_pk PRIMARY KEY)
3 /表已创建。SQL> CREATE OR REPLACE PROCEDURE create_date_log_row
2 IS
3 BEGIN
4 INSERT INTO date_log(create_date)VALUES(sysdate);
5 END;
6 /过程已创建。SQL> var jobno number
SQL> begin
2 dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440');
3 commit;
4 end;
5 /PL/SQL 过程已成功完成。SQL> select * from date_log
2 /CREATE_DATE
--------------
18-10月-10
CREATE TABLE DATE_LOG
(create_date DATE CONSTRAINT create_date_pk PRIMARY KEY);
--PROC
CREATE OR REPLACE PROCEDURE create_date_log_row
IS
BEGIN
INSERT INTO date_log(create_date)VALUES(sysdate);
Commit;
END;
/
variable job number;
begin
sys.dbms_job.submit(job => :job,
what => 'begin create_date_log_row; end;',
next_date => sysdate,
interval => 'to_date(to_char(sysdate, ''yyyy-mm-dd HH24:MI:SS''), ''yyyy-mm-dd HH24:MI:SS'')+1/1440');
commit;
end;
/