微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更新数据库记录时where子句出现问题

如何解决更新数据库记录时where子句出现问题

|| 我在ABAP中有一个屏幕,可以更新数据库行。它的工作方式是:我可以更新\'row \',但问题是,它正在更新表中的每一行,而不是where子句中指定的行。 这是我正在使用的代码
UPDATE zmotoren_jat SET:
prijs = zmotoren_jat-prijs,naam = zmotoren_jat-naam
WHERE motorid = zmotoren_jat-motorid. \"this line doesn\'t seem to work!
知道为什么这行不通吗?我确定\'motorid \'存在:我没有收到错误,我正在使用同一行,1ѭ删除行,这行得通。     

解决方法

        您的问题似乎与第一行中的冒号(:)和第二行中的逗号(,)有关。 冒号引入了链式语句,它可能会将带有“ 2”的第一个语句视为单独的语句,从而更新了第一个语句中的所有记录(因为WHERE子句仅适用于第二个语句)。 取出冒号并删除SET指定符之间的逗号,然后重试。 有关一些示例代码的说明,请参见Esti答案。     ,        Mydog的答案正确。 基本上,您的语法会转换为以下内容:
UPDATE zmotoren_jat SET prijs = zmotoren_jat-prijs.
UPDATE zmotoren_jat SETnaam = zmotoren_jat-naam
 WHERE motorid = zmotoren_jat-motorid.
即它会更新表中每个记录的价格,然后更新指定ID的名称。 你想要的是
UPDATE zmotoren_jat 
  SET prijs = zmotoren_jat-prijs
      naam  = zmotoren_jat-naam
WHERE motorid = zmotoren_jat-motorid.
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。