oracle中 submit 和 submit and commit两个功能区别
时间: 2024-06-07 13:09:11 浏览: 10
在Oracle中,Submit和Submit and Commit是PL/SQL Developer中常用的两个功能,它们之间的主要区别在于提交的时机。
Submit操作是将代码提交到服务器端,但不会将更改保存到数据库中。这意味着,如果您对代码进行更改并且使用Submit操作,则更改将在服务器端生效,但将不会保存到数据库中。这可以用于测试和调试代码,以确保代码在服务器端运行正常。
而Submit and Commit操作不仅将代码提交到服务器端,还将更改保存到数据库中。这意味着,如果您对代码进行更改并且使用Submit and Commit操作,则更改将永久保存到数据库中。这可以用于向数据库中添加新的存储过程、触发器等对象。
因此,Submit和Submit and Commit之间的主要区别在于是否将更改保存到数据库中。
相关问题
DBMS_JOB.SUBMIT详细用法
DBMS_JOB.SUBMIT 是 Oracle 数据库中的一个存储过程,用于提交一个作业并安排它在数据库中执行。它的详细用法如下:
1. 首先,需要在数据库中创建一个存储过程,来定义要执行的作业。例如:
CREATE OR REPLACE PROCEDURE my_job
IS
BEGIN
-- 执行需要执行的任务
...
END;
2. 然后,使用 DBMS_JOB.SUBMIT 存储过程来提交作业。例如:
DECLARE
job_id NUMBER;
BEGIN
DBMS_JOB.SUBMIT(
job_id => job_id,
what => 'BEGIN my_job; END;',
next_date => SYSDATE,
interval => 'SYSDATE + 1/24',
no_parse => FALSE
);
COMMIT;
END;
这个例子中,DBMS_JOB.SUBMIT 存储过程接受以下参数:
- job_id:作业的 ID,由存储过程返回。
- what:要执行的作业,可以是任何合法的 SQL 语句或 PL/SQL 块。
- next_date:作业的第一次执行时间。在这个例子中,我们使用了当前系统时间。
- interval:作业的执行间隔时间。在这个例子中,我们使用了每小时执行一次的间隔。
- no_parse:一个布尔值,指示是否跳过对 what 参数的语法分析。在这个例子中,我们将其设置为 FALSE。
3. 提交作业后,可以使用 DBMS_JOB.BROKEN 存储过程来标记作业为失败,使用 DBMS_JOB.REMOVE 存储过程来删除作业,使用 DBMS_JOB.CHANGE 存储过程来修改作业的执行时间或执行间隔时间。
注意:DBMS_JOB 存储过程已经在 Oracle 12c 版本中被弃用,取而代之的是 DBMS_SCHEDULER 存储过程。如果您使用的是 Oracle 12c 或更高版本,建议使用 DBMS_SCHEDULER 存储过程来管理作业。
oracle ebs 用pl/sql编写个关闭离散任务的 脚本
好的,以下是一个简单的 PL/SQL 脚本,可用于关闭离散任务:
```
DECLARE
l_request_id NUMBER;
BEGIN
fnd_global.apps_initialize(user_id => <USER ID>, resp_id => <RESP ID>, resp_appl_id => <RESP APPL ID>);
l_request_id := FND_REQUEST.SUBMIT_REQUEST (
application => 'INV',
program => 'INVLOD',
description => 'Close Discrete Jobs',
argument1 => <JOB NAME>,
argument2 => <ORGANIZATION ID>,
argument3 => 'Y',
argument4 => 'Y',
argument5 => NULL,
argument6 => NULL,
argument7 => NULL,
argument8 => NULL,
argument9 => NULL,
argument10 => NULL,
argument11 => NULL,
argument12 => NULL,
argument13 => NULL,
argument14 => NULL,
argument15 => NULL,
argument16 => NULL,
argument17 => NULL,
argument18 => NULL,
argument19 => NULL,
argument20 => NULL
);
COMMIT;
dbms_output.put_line('Request ID: ' || l_request_id);
END;
```
在脚本中,您需要将 `<USER ID>`,`<RESP ID>` 和 `<RESP APPL ID>` 替换为相应的用户 ID、职责 ID 和应用程序 ID。同时,您还需要将 `<JOB NAME>` 和 `<ORGANIZATION ID>` 替换为要关闭的离散任务的名称和组织 ID。
运行脚本后,它将提交一个请求来关闭指定的离散任务,并返回请求 ID。您可以使用此请求 ID 来跟踪请求的进度和状态。
请注意,此脚本仅供参考。在使用脚本之前,请务必进行适当的测试并确保所有参数均正确设置。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)