如何在 Oracle SQL 中更新作业中的参数

How to update a parameter in a job in Oracle SQL

我刚刚使用 SQL 开发人员内置向导创建了一个作业,我想从我的应用程序更改已创建作业的参数。 工作是每天7点启动一个存储过程。

在应用程序中我必须填写:

  1. 禁用:true/false
  2. 小时:10:00

这是我的工作和字段,我想根据应用程序中 select 编辑的内容进行更新:

我看到了两种方法:

  1. 使字段依赖于 table
  2. 中的值
  3. 创建一个更新值的 pl/sql 块

当然我不知道该怎么做(在第一个选项中 select 语句不起作用,在第二个选项中我不知道如何访问工作字段)

请帮忙

Begin 
dbms_scheduler.disable( 'ATOS."job_email_notifications"' );

DBMS_SCHEDULER.SET_ATTRIBUTE ( name => 'ATOS."job_email_notifications"', attribute => 'repeat_interval', value => 'freq=daily;byday=FRI,SAT;byhour=20;byminute=0; bysecond=0');--change value--as per need

dbms_scheduler.enable( 'ATOS."job_email_notifications"' );
End;
/

使用以下过程根据值进行动态更新

Create or replace procedure change_attributes(a_job_name varchar2, a_param varchar2, a_new_val varchar2)
As
Begin 
dbms_scheduler.disable( a_job_name);

DBMS_SCHEDULER.SET_ATTRIBUTE ( name => a_job_name,attribute => a_param, value => a_new_val);

dbms_scheduler.enable( a_job_name);
End;
/