【问题标题】:Update statement does not run in a stored procedure but alone work fine更新语句不在存储过程中运行,但单独工作正常
【发布时间】:2016-05-26 06:45:31
【问题描述】:

我有下面提到的这些更新语句,用于更新表中的空列或空白列:

UPDATE ASPECT.DEALER_MASTER 
 SET RO_DLR_GRP='IND' 
 WHERE RO_DLR_GRP IS NULL OR TRIM(RO_DLR_GRP)='';

UPDATE ASPECT.DEALER_MASTER 
 SET DEALER_GRP=TRIM(RO_DLR_GRP) 
 WHERE DEALER_GRP IS NULL OR TRIM(DEALER_GRP)='';

当我单独运行这些语句时,它们运行良好,但是当我在存储过程中使用这些语句时,它们从未更新表。

为什么会这样?

【问题讨论】:

  • 如何共享该存储过程,以便我们知道您在做什么?是否有错误或只是没有更新行?是否有符合条件的行? db2diag.log 中有什么内容吗?

标签: stored-procedures db2


【解决方案1】:

我的建议是先选择喜欢的数据

SELECT * FROM ASPECT.DEALER_MASTER WHERE RO_DLR_GRP 为 NULL 或 TRIM(RO_DLR_GRP)='';

确保返回结果。 如果没有数据返回,则没有什么可更新的。

【讨论】:

    【解决方案2】:

    实际上问题出在程序体内,语句没有正确终止。更新语句是正确的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-14
      • 2020-03-06
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 2018-03-29
      • 2014-10-14
      相关资源
      最近更新 更多