[英]Update Statement in ABAP not working
我在ABAP 中有一個UPDATE
語句,它看起來像:
UPDATE zicstt099 FROM TABLE lt_zicstt099
每次使用sy-subrc eq 4
時更新都會失敗。
數據庫表ZICSTT099
具有三個主鍵: WEB_USER_ID
和EMAIL_ID
以及MANDT
字段。
我正在嘗試更改EMAIL_ID
值,但同樣沒有得到更新。
請幫忙。
您不能使用UPDATE <target> FROM <wa>.
更改主鍵字段UPDATE <target> FROM <wa>.
和UPDATE <target> FROM TABLE <itab>.
語句,因為它們使用主鍵來查找它們必須更新的記錄。
請改用UPDATE <target> SET <set1> ... WHERE ...
語句。
您可以在此處找到詳細信息: https : //help.sap.com/doc/abapdocu_753_index_htm/7.53/en-US/abapupdate_source.htm#!ABAP_ALTERNATIVE_1@1@
使用UPDATE 后,如果sy-subrc
= 4,則至少有一行無法更改,要么是因為找不到合適的行,要么是因為更改會生成一行導致主鍵中出現重復條目或數據庫表中唯一的二級索引。
語句 UPDATE 將sy-dbcnt
設置為更改的行數。
您不能“更改”數據庫中的關鍵字段。 您可以刪除原始條目並使用另一個鍵插入新條目。 但是您不能更改關鍵字段。 (我無法檢查實際情況,如果modify
是自行完成的。
如果您必須更改關鍵字段,您應該考慮您的數據庫定義。
有關更改鍵字段的更多信息: 我們可以更新表的主鍵值嗎?
嗨,我嘗試使用您提到的鍵創建表,我建議您使用以下語法
update lt_zicstt099 set email_id = 'some value' where WEB_USER_ID = 'some web id'.
要檢查表是否更新,您可以使用 sy-dbcnt 來了解更新的行數。 如果您仍然遇到問題,請在下方評論
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.