REBIND TRIGGER PACKAGE 命令(数据链路层)
DSN子命令REBIND TRIGGER PACKAGE用于为基本触发器重新绑定一个包。 您可以通过查询 SYSIBM.SYSTRIGGERS 目录表来识别基本触发器。 SQLPL列中的空白值表示基本触发器。 对于高级触发器,请使用REBIND PACKAGE命令。
您可以使用此子命令更改 Db2 在创建软件包时使用的默认绑定选项的有限子集。 在创建新索引或使用RUNSTATS实用程序后,您也可以重新绑定触发器包,以重新优化其SQL语句。 此外,如果某个触发器包因索引或依赖的其他对象被删除而失效,您可以重新绑定它。
如果重新绑定成功,则触发器包将被标记为有效。 当发出REBIND TRIGGER PACKAGE(重新绑定触发器包)(*)命令时,受影响的触发器包仅限于授权给触发器包发行者重新绑定的基本触发器包。
扳机套件不能远程复位。 在REBIND TRIGGER PACKAGE子命令中指定包名称时,允许使用位置名称。 但是,地点名称不能指代偏远地区。
环境 REBIND TRIGGER PACKAGE
您可以通过 DB2I 使用 REBIND TRIGGER PACKAGE,或者在前台或后台运行的 DSN 会话中输入 REBIND TRIGGER PACKAGE 子命令。
数据共享范围 :集团
授权 REBIND TRIGGER PACKAGE
为了创建一个不产生错误信息的包,包所有者必须有权限执行包中为REBIND TRIGGER PACKAGE嵌入的所有SQL语句。
- 扳机套件的所有权
- 触发器套件的绑定权限
- 扳机套件的所有者提供的绑定特权
- 对集合或所有集合的 PACKADM 权限
- 系统 DBADM 权限
- SYSCTRL 权限
- SYSADM 权限
- 扳机套件的所有权
- 触发器套件的绑定权限
- 扳机套件的所有者提供的绑定特权
- 对集合或所有集合的 PACKADM 权限
- 系统 DBADM 权限
- SYSCTRL 权限
- SYSADM 权限
当指定EXPLAIN(ONLY)选项时,您必须拥有EXPLAIN权限。
REBIND TRIGGER PACKAGE的语法
选项块
选项说明
- 触发器数据包
- 确定要重新绑定哪个或哪些触发器包。
触发器套件必须与基本触发器相关联。
以下选项用于确定包的位置、集合和包名称。 您可以识别地点和收藏。 对于REBIND TRIGGER PACKAGE,您必须指定触发器包名称。
- 地点名称
- 识别当前本地位置。 不允许远程重新绑定触发器包。 location-name 是 数据库管理系统(DBMS)的位置,程序包将在此处重新绑定,程序包的描述也位于此处。
默认值为本地数据库管理系统。
- collection-id 或 *
- 标识已包含要重新绑定的触发器包的架构名称。 不存在默认值。
对于“重新绑定触发器”,您可以使用星号(*)来重新绑定所有具有绑定权限的集合中指定 包ID 的所有本地包。
- package- id 或 *
- 识别要重新绑定的触发器包的名称,如SYSPACKAGE目录表的NAME列中所示。 不存在默认值。
您可以使用模式匹配字符(*)来重新绑定您拥有绑定权限的 集合ID 中的所有本地触发器。
关于语法图中显示的选项说明,请参阅 “软件包、计划和服务绑定和重新绑定选项 ”主题。
使用说明
- 对触发器套件的限制
触发器包可以明确地重新绑定,但不能使用BIND PACKAGE子命令明确地绑定。
触发器包不能使用FREE PACKAGE子命令或DROP PACKAGE语句明确释放。 使用DROP TRIGGER语句删除触发器包。
触发器包无法复制,只能在本地重新设置。 不允许远程重新绑定触发器包。
- 重新绑定多个触发器包
如果您重新绑定多个触发器包, Db2 会在绑定下一个包之前提交每个成功的绑定。
- 对触发器名称的限制
- 虽然触发器名称中通常允许使用双字节字符集字符,但包含双字节字符集字符的触发器名称不能用于“重新绑定触发器包”操作。
- 数据共享成员的信息追踪
- 当在 Db2 数据共享成员中发出具有组范围的命令时,该命令也会在所有其他活动成员中运行。 IFICID 090 跟踪记录显示,除了发出原始命令的成员的跟踪记录外, 016.TLPKN5F 相关 ID 的 SYSOPR 授权 ID 也发出了相同的命令。 请参阅 Db2 数据共享中的命令范围。
输出
REBIND TRIGGER PACKAGE更新SYSPACKAGE目录表中的COLLID和NAME列。
示例
REBIND TRIGGER PACKAGE (ADMF001.TRIG1);此命令的输出结果与以下输出结果类似:DSNT254I - DSNTBRB2 REBIND OPTIONS FOR
PACKAGE = STLEC1.ADMF001.TRIG1.()
ACTION
OWNER ADMF001
QUALIFIER ADMF001
VALIDATE BIND
EXPLAIN NO
ISOLATION CS
RELEASE COMMIT
COPY
DSNT255I - DSNTBRB2 REBIND OPTIONS FOR
PACKAGE = STLEC1.ADMF001.TRIG1.()
SQLERROR NOPACKAGE
CURRENTDATA YES
DEGREE 1
DYNAMICRULES BIND
NODEFER PREPARE
REOPT NONE
KEEPDYNAMIC NO
DBPROTOCOL DRDA
QUERYOPT 1
PATH
"SYSIBM","SYSFUN","SYSPROC","SYSADM","ADMF001"
DSNT232I - SUCCESSFUL REBIND FOR
PACKAGE = STLEC1.ADMF001.TRIG1.() 