ADMIN_TASK_REMOVE 过程 - 除去已调度任务或任务状态记录

ADMIN_TASK_REMOVE 过程除去调度的管理任务,这些任务是可以封装在过程中的工作部分。 它还会除去任务状态记录。

语法

Read syntax diagramSkip visual syntax diagramADMIN_TASK_REMOVE(name,end_timestamp)

模式为 SYSPROC。

过程参数

name
类型为 VARCHAR (128) 的输入参数,用于指定任务的名称。
end_timestamp
类型为 TIMESTAMP 的输出参数,用于指定状态记录 end_timestamp 时间戳记。

权限

需要下列其中一个权限:
  • 对 ADMIN_TASK_REMOVE 过程的 EXECUTE 特权
  • DATAACCESS 权限
  • DBADM 权限
  • SQLADM 权限

虽然语句授权标识可能允许执行过程,但成功除去任务和状态记录取决于当前会话授权标识的值。 当前会话授权标识必须与创建任务时所记录的会话授权标识匹配。 具有 SYSADM、SYSCTRL、SYSMAINT 或 DBADM 权限的用户可以除去任何任务或状态记录。 如果未经授权的用户尝试除去任务或状态记录,那么将返回 SQL0551N 。

缺省 PUBLIC 特权

在非限制数据库中,自动创建过程时会将 EXECUTE 特权授予 PUBLIC。

使用说明

在落实工作单元之前,不会除去该任务。

除去任务的行为取决于如何定义 nameend_timestamp 参数:
  • 如果 end_timestamp 自变量为 NULL:
    • 如果 name 参数为 NULL,那么将除去所有任务和状态记录。 如果一个或多个任务当前正在运行,那么不会除去该任务和关联的状态记录。 在此情况下,将返回 SQL1464W 。
    • 如果 name 自变量不是 NULL,那么将除去与 name 匹配的任务记录。 如果指定的任务当前正在运行,那么不会除去该任务并返回 SQL20453N 。 如果除去了指定的任务,那么将除去所有关联的状态记录。
  • 如果 end_timestamp 自变量不是 NULL:
    • 如果 name 自变量为 NULL,那么将除去 end_timestamp 时间戳记小于或等于 end_timestamp 的所有状态记录。 未除去任何任务记录。 此过程将不会除去任何状态值为以下值的状态记录:RUNNING.
    • 如果 name 自变量不是 NULL,那么当任务的 end_timestamp 时间戳记小于或等于 end_timestamp时,将除去与 name 匹配的任务的状态记录。 未除去任何任务记录。 此过程将不会除去任何状态值为以下值的状态记录:RUNNING.

如果用户尝试除去不存在的任务,那么将返回 SQL0204N 。

示例

除去名为 "DAILY TSM BACKUP" 的备份任务:
CALL SYSPROC.ADMIN_TASK_REMOVE('DAILY TSM BACKUP', NULL)