删除列时重新创建触发器的规则

2020-09-12 03:56发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)如果我有一个带有触发器的表,并且...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


如果我有一个带有触发器的表,并且在该表上放了一列,则会收到警告消息:

警告:表" mytable"的架构已更改。  
在该表上使用'if update(column-name)子句删除并重新创建每个触发器。

第一个问题,警告中的"列名"是否仅指我删除的列?

此外,在文档中:

SAP ASE->参考->命令->更改表-> 更改表架构

它说:

"为确保触发器正确触发,请在执行添加,删除,修改或锁定操作后删除并重新创建已更改表上的所有触发器"

拖放并重新创建 * all * 触发器,即使它们未引用修改后的列也是如此? 是真的吗?

2条回答
木偶小白
2020-09-12 04:52

我的猜测是,有两个特殊的表"插入"和"删除",它们需要在alter table之后获得新的列列表。

因此,即使您没有在

记住,ASE在存储过程中转换" select * from table-name"以按列选择所有列,请记住ASE编译后的代码可能不反映新的列集。 -name

-避免以后捕获丢失的添加列,并且

-捕获丢失的列(如果有)。

HTH

Avinash

还请注意ASE 16触发器REPLACE问题,该问题是由具有sa角色的非sa登录创建的。

我们发现drop + create可以正常工作。

一周热门 更多>