2011-08-30 114 views
5

我有一个UPDATE声明ABAP它看起来像:更新语句不工作

UPDATE zicstt099 FROM TABLE lt_zicstt099

更新失败,每次用sy-subrc eq 4

数据库表ZICSTT099有三个主要的键:WEB_USER_ID & EMAIL_IDMANDT字段一起。

我正在尝试更改EMAIL_ID的值,但同样没有更新。

请帮忙。

回答

0

你不能“改变”数据基地重点领域。 您可以删除原始条目并用另一个键插入新条目。但是你不能改变关键字段。 (我不能检查实际的,如果modify这样做是在它自己的

如果你有改变的关键领域,你应该想想你的DB-定义

更多关于改变重点领域:。 Can we update primary key values of a table?

+2

这是错误的,至少在Open SQL中。请参阅René引用的文档。 – vwegert

0

如果SY-SUBRC = 4,则至少一个线路是不能被改变,或者因为没有适当的行被发现,或者是因为变化都将产生导致双条目中的主键的线或数据库表中的唯一二级索引。

该sta tement UPDATE将sy-dbcnt设置为更改的行数。

-1

您好我想与你的钥匙创建该表所提到的,我建议你用下面的语法

update lt_zicstt099 set email_id = 'some value' where WEB_USER_ID = 'some web id'. 

要检查表进行更新,你可以使用SY-DBCNT知道的数行更新。 如果仍然面临问题,请在下面评论