Ví dụ này cho bạn thấy cách tạo một công việc trong Oracle để chạy hàng giờ bằng cách sử dụng DBMS_SCHEDULER
gói hàng.
1. Tạo công việc bằng DBMS_SCHEDULER.CREATE_JOB
Mã PL / SQL sau sẽ lên lịch công việc sẽ bắt đầu vào ngày 20 tháng 10 năm 2019 lúc 1:00 sáng theo giờ Ấn Độ để chạy hàng giờ vào mỗi ngày. Bạn có thể xóa Tên ngày khỏi thông số khoảng thời gian lặp lại để loại trừ một ngày cụ thể . Loại công việc là thủ tục được lưu trữ và sẽ chạy thủ tục được chỉ định trong tham số Hành động công việc.
BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'HOURLY_JOB', job_type => 'STORED_PROCEDURE', job_action => 'YOUR_SCHEMA.YOUR_PROCEDURE', start_date => '20-OCT-19 01.00.00 AM Asia/Kolkata', repeat_interval => 'FREQ=HOURLY;BYDAY=MON,TUE,WED,THU,FRI,SAT,SUN', end_date => NULL, auto_drop => FALSE, job_class => 'SYS.DEFAULT_JOB_CLASS', comments => 'run job every hour'); END; /
2. Kích hoạt công việc
BEGIN DBMS_SCHEDULER.enable('HOURLY_JOB'); END; /
DBMS_SCHEDULER
hàng giờ của bạn công việc được tạo và kích hoạt ngay bây giờ. Bạn có thể thay đổi múi giờ từ " Châu Á / Kolkata "đến bất kỳ múi giờ quốc gia nào bằng cách nhận giá trị từ truy vấn sau:
SELECT DISTINCT tzname, TZ_OFFSET (tzname) FROM V$TIMEZONE_NAMES ORDER BY tzname;
Hướng dẫn liên quan:
- Oracle PL / SQL:DBMS_SCHEDULER.CREATE_JOB chạy mỗi ngày một lần
-
Các câu lệnh DDL có luôn cung cấp cho bạn một cam kết ngầm hay bạn có thể nhận được một lần khôi phục ngầm không?
-
Sự khác biệt giữa 'YYYY' và 'RRRR' trong Oracle SQL là gì
-
Từ khóa 'Partition By' và 'Row_Number' của Oracle
-
Oracle Xóa hàng Khớp với Nhiều Giá trị
-
Kết nối chuỗi tổng hợp trong Oracle 10g