如何使用wso2esb和mysql确定插入或更新是否成功?

aemubtdh  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(364)

我使用WSO2ESB4.9。我想知道在mysql更新后有多少记录被更新。我使用以下配置:

<dbreport>
                <connection>
                  <pool>
                    <dsName>jdbc/localdb</dsName>
                  </pool>
                </connection>
                <statement>
                  <sql><![CDATA[update table1 set active=0  where username=?  ]]></sql>
                  <parameter expression="get-property('username')" type="VARCHAR"/>
                </statement>
              </dbreport>

如何知道是否有记录更新?谢谢

vsdwdz23

vsdwdz231#

有两种方法。简单的方法是使用dblookup并检索“row_count”;另一种是创建存储过程或函数调用。例如:

delimiter //
create function setActive (name VARCHAR(50)) returns int DETERMINISTIC
BEGIN
UPDATE table1 set active=0 where username=name;
RETURN ROW_COUNT();
END
//
delimiter ;

然后可以在dblookup中使用:

<sql>SELECT setActive(?)</sql>
  <parameter expression="get-property('username')" type="VARCHAR"/>
  <result name="res" column="row_count()"/>

相关问题