ROW_COUNT函数解决了金仓数据库KingbaseES执行语句影响的数据行数计数问题
关键字
ROW_COUNT、影响行数、mysql、计数
问题描述
应用开发端直接通过调用函数方式获取某条语句影响的数据行数。
问题分析
缺少简单易用的函数接口。
解决方案
使用ROW_COUNT函数获取上一条语句影响的数据行数。注:该函数仅在KES MySQL模式支持。
sql
drop table if exists test_t1,test_t2;
create table test_t1(id int,name varchar(20));
insert into test_t1 values(1,'t1'),(2,'t2'),(3,'t3'),(4,'t4'),(5,'t5'),(6,'t6');
create table test_t2(id int primary key,name varchar(20));
insert into test_t2 select * from test_t1;
--插入数据,键值不冲突,返回影响行数1
replace into test_t2 values(7, 't7'); select row_count();
--插入数据,键值冲突,返回影响行数2(先删除原数据,再插入新数据)
replace into test_t2 values(7, 't7'); select row_count();
--查询数据,返回影响行数为-1(查询语句不影响数据,默认返回-1)
select * from test_t1 where id=7;select row_count();
--删除语句,返回影响行数7
delete from test_t2;select row_count();
参考资料
《KingbaseES SQL语言参考手册》