Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在oracle apex中每隔几分钟执行一次plsql代码_Javascript_Html_Sql_Plsql_Oracle Apex - Fatal编程技术网

Javascript 在oracle apex中每隔几分钟执行一次plsql代码

Javascript 在oracle apex中每隔几分钟执行一次plsql代码,javascript,html,sql,plsql,oracle-apex,Javascript,Html,Sql,Plsql,Oracle Apex,您好,我目前正在设计一个应用程序,需要保存人员的经度和纬度,但我很难想出如何每隔几分钟刷新经度和纬度,以及更新数据库并将人员的新经度和纬度写入我的数据库表 编辑: 我创建了一个过程,如下所示: Create or replace procedure Ins_Location (P_IMU_ID IN Number, P_IMUL_LATITUDE IN NUMBER, P_IMUL_LONGITUDE IN NUMBER) is begin insert int

您好,我目前正在设计一个应用程序,需要保存人员的经度和纬度,但我很难想出如何每隔几分钟刷新经度和纬度,以及更新数据库并将人员的新经度和纬度写入我的数据库表

编辑:

我创建了一个过程,如下所示:

Create or replace procedure Ins_Location 
    (P_IMU_ID IN Number,
    P_IMUL_LATITUDE IN NUMBER,
    P_IMUL_LONGITUDE IN NUMBER)
is
begin
    insert into i_mobile_user_locations
        (IMU_ID,
        IMUL_LATITUDE,
        IMUL_LONGITUDE)
        VALUES
            (P_IMU_ID,
            P_IMUL_LATITUDE,
            P_IMUL_LONGITUDE);
end;
Begin
    DBMS_SCHEDULER.CREATE_JOB(
        job_name        => 'ins_location',
        job_type        => 'STORED_PROCEDURE',
        job_action      => 'BEGIN Ins_Location(:GLOBAL_ID,:P1_LAT,:P1_LNG); END;',
        start_Date      => systimestamp,
        repeat_interval => 'freq = minutely; interval = 5',
        enabled         => true,
        comments        => 'My Location insert'
    );
end;
然后我创建了一个流程,它将按照如下方式启动作业:

Create or replace procedure Ins_Location 
    (P_IMU_ID IN Number,
    P_IMUL_LATITUDE IN NUMBER,
    P_IMUL_LONGITUDE IN NUMBER)
is
begin
    insert into i_mobile_user_locations
        (IMU_ID,
        IMUL_LATITUDE,
        IMUL_LONGITUDE)
        VALUES
            (P_IMU_ID,
            P_IMUL_LATITUDE,
            P_IMUL_LONGITUDE);
end;
Begin
    DBMS_SCHEDULER.CREATE_JOB(
        job_name        => 'ins_location',
        job_type        => 'STORED_PROCEDURE',
        job_action      => 'BEGIN Ins_Location(:GLOBAL_ID,:P1_LAT,:P1_LNG); END;',
        start_Date      => systimestamp,
        repeat_interval => 'freq = minutely; interval = 5',
        enabled         => true,
        comments        => 'My Location insert'
    );
end;
但每次我尝试执行该过程时,都会出现以下错误:
ORA-27452:“BEGIN Ins_Location(:GLOBAL_ID,:P1_LAT,:P1_LNG);END;”是数据库对象的无效名称。

如果必须定期执行某些操作,请使用
DBMS_调度程序
包-它就是为此而设计的。在您的情况下,它将调用一个包含您提到的PL/SQL代码的存储过程。

如果您使用的是apex的20.2版,您可以为此使用“自动化”功能。然后在apex中实现
DBMS\u调度程序
,它非常易于使用,并具有许多现成的功能。

是的,我正在使用20.2,因此我将尝试了解它的工作原理,然后再与您联系,谢谢谢谢。谢谢。我必须阅读相关内容,看看是否可以使其工作。如果您有作业类型=>“存储过程”,那么您就不需要开始-结束。将作业类型更改为“PLSQL块”