oracle pl/sql 在存储过程语法中有这么一种用法sql%found,返回的是一个布尔值,用来判断其上一update 或 insert语句有没有执行成功,那么在MySQL中用有没有 同样功能的语句呢?带着这个疑问,查了下资料发现row_count()可以实现该功能并做记录。
1.建表语句:
2.数据准备并创建存储过程
3.通过row_count() 取得的值与0比较,判断上一行update修改数据是否成功
4.如果将where条件改变 应该走else 语句 最终结果应该为54321,如图
至此,可以看出 MySQL虽没有函数直接判断 dml语句是否成功修改数据 但却可以通过row_count()函数间接实现Oracle的sql%Found功能。