在HANA上使用TABLE STATEMENT创建TRIGGER

2020-09-07 21:00发布

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

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


嗨,

尝试使用表时,无法立即在列表上创建TRIGGER。 对于使用行的相同TRIGGER,这工作正常。 但是我不能使用行,因为我们有太多的记录。

这是很好的方法:

-插入触发行
在" test.track_delete :: create_table.CCR_FINALMARKETID_01"上插入后创建触发INSERT_TRIGGER_ROW

为每个行引用新行mynewrow
开始
插入" S00049863"。" test.track_delete :: create_table.CCR_FINALMARKETID_01_TRIGGER"
VALUES(:mynewrow。" GUID",:mynewrow。" CURVE",:mynewrow。" DATE",
``,'I ',
CURRENT_DATE,CURRENT_TIME,
CURRENT_TIMESTAMP)
;
END;

这是行不通的:

-插入触发器表
在" test.track_delete :: create_table.CCR_FINALMARKETID_01"上插入后创建触发器INSERT_TRIGGER_TABLE

将新表作为每个表的新表
引用
重新开始
>插入" S00049863"。" test.track_delete :: create_table.CCR_FINALMARKETID_01_TRIGGER"
选择" GUID"," CURVE"," DATE",
"," I",
CURRENT_DATE,CURRENT_TIME, CURRENT_TIMESTAMP
来自:newtable;
END;

错误消息与SQL语句无关,而与列表有关:

无法执行'CREATE TRIGGER INSERT_TRIGGER_TABLE AFTER INSERT ON ...'
SAP DBTech JDBC:[7]:不支持的功能:无法在列表test.track_delete :: create_table上创建语句触发器。 CCR_FINALMARKETID_01:第2行第18列(在pos 54)

非常欢迎您提供一些帮助。

此致

洛朗

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

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


嗨,

尝试使用表时,无法立即在列表上创建TRIGGER。 对于使用行的相同TRIGGER,这工作正常。 但是我不能使用行,因为我们有太多的记录。

这是很好的方法:

-插入触发行
在" test.track_delete :: create_table.CCR_FINALMARKETID_01"上插入后创建触发INSERT_TRIGGER_ROW

为每个行引用新行mynewrow
开始
插入" S00049863"。" test.track_delete :: create_table.CCR_FINALMARKETID_01_TRIGGER"
VALUES(:mynewrow。" GUID",:mynewrow。" CURVE",:mynewrow。" DATE",
``,'I ',
CURRENT_DATE,CURRENT_TIME,
CURRENT_TIMESTAMP)
;
END;

这是行不通的:

-插入触发器表
在" test.track_delete :: create_table.CCR_FINALMARKETID_01"上插入后创建触发器INSERT_TRIGGER_TABLE

将新表作为每个表的新表
引用
重新开始
>插入" S00049863"。" test.track_delete :: create_table.CCR_FINALMARKETID_01_TRIGGER"
选择" GUID"," CURVE"," DATE",
"," I",
CURRENT_DATE,CURRENT_TIME, CURRENT_TIMESTAMP
来自:newtable;
END;

错误消息与SQL语句无关,而与列表有关:

无法执行'CREATE TRIGGER INSERT_TRIGGER_TABLE AFTER INSERT ON ...'
SAP DBTech JDBC:[7]:不支持的功能:无法在列表test.track_delete :: create_table上创建语句触发器。 CCR_FINALMARKETID_01:第2行第18列(在pos 54)

非常欢迎您提供一些帮助。

此致

洛朗

付费偷看设置
发送
4条回答
黑丝骑士
1楼-- · 2020-09-07 21:13

网址

https://help.sap.com/查看器/4fe29514fd584807ac9f2a04f6754767/1.0.12/zh-CN/20d5a65575191014946db96aaedbef5b.html

says触发器仅在行表上有效-这可能是为什么您的语句由于列表而无法工作的原因

哎,真难
3楼-- · 2020-09-07 21:31

上面的帮助链接显示"语句级触发器仅在行存储表中受支持。" 您的触发器具有语句" FOR EACH STATEMENT",因此您会收到此错误。 如果您使用" FOR EACH ROW",它将在列表上工作。

致谢

Neil

槿木_熙
4楼-- · 2020-09-07 21:08

我对每条语句和每行的感到困惑。为什么每条语句仅适用于行存储触发器?

一周热门 更多>