我有一个更新存储过程,用于更新表中的某些字段。如果更新查询成功,我希望存储过程返回true;如果未能执行查询,则希望存储过程返回false。我在搜索不同的线程,但我找不到相同类型的问题。下面是我的存储过程。
CREATE DEFINER=`peter`@`%` PROCEDURE `do_update_bill_penalty`(
penalty_code_ varchar(255),
penalty_type_ varchar(255),
penalty_rate_ varchar(255),
charge_per_day_ varchar(255),
total_charge_ varchar(255),
total_net_due varchar(255),
user_ varchar(255),
client_ varchar(255),
accountnumber_ varchar(255),
job_date_ varchar(255)
)
BEGIN
UPDATE `bill` SET
`bill_status` = 'OVD',
`bill_status_description` = 'OVERDUE',
`penalty_code` = penalty_code_,
`penalty_type` = penalty_type_,
`penalty_rate` = penalty_rate_,
`charge_per_day` = charge_per_day_,
`penalty_charge` = total_charge_,
`total_amount_due` = total_net_amount_,
`bill_modifiedby` = user_
WHERE `bill_client` = client_
AND `bill_account_number` = accountnumber_
AND `bill_reading_date` = job_date_;
END发布于 2017-08-19 08:37:28
你可能需要对“成功”有一个更好的定义。
如果您想知道行是否被更新,那么您的就是此question的副本(整数值可以显式或隐式地转换为布尔值。
如果您想知道是否发生了异常,那么可以使用add a handler (这里也有很多示例)来更改标志的值
https://stackoverflow.com/questions/45766528
复制相似问题