PostgreSQL获取 *** 作影响的行数

PostgreSQL获取 *** 作影响的行数,第1张

概述如何来获取普通的 *** 作影响的行数,PostgreSQL里面有一个内置的变量DIAGNOSTICS与ROW_COUNT可以做到这一点。 一、环境: DB:9.4beta3 二、准备: postgres=# create table test(id int);CREATE TABLEpostgres=# insert into test select generate_series(1,20); 如何来获取普通的 *** 作所影响的行数,Postgresql里面有一个内置的变量DIAGNOSTICS与ROW_COUNT可以做到这一点。

一、环境:
DB:9.4beta3

二、准备:
postgres=# create table test(ID int);CREATE tablepostgres=# insert into test select generate_serIEs(1,20);INSERT 0 20postgres=# select * from test; ID ----  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20(20 rows)
三、创建函数:
CREATE OR REPLACE FUNCTION fun_affect_rows()  RETURNS text AS$BODY$declarev_count int;begininsert into test values(99),(98);GET DIAGNOSTICS v_count = ROW_COUNT;raise notice '本次插入数据量 %',v_count;delete from test where ID < 15;GET DIAGNOSTICS v_count = ROW_COUNT;raise notice '本次删除数据量 %',v_count;update test set ID = 100 where ID >90;GET DIAGNOSTICS v_count = ROW_COUNT;raise notice '本次更新数据量 %',v_count;return '测试完毕';end;$BODY$  LANGUAGE plpgsql VolATILE  COST 100;ALTER FUNCTION fun_affect_rows()  OWNER TO postgres;
四、运行情况:
postgres=# select * from fun_affect_rows();NOTICE:  本次插入数据量 2NOTICE:  本次删除数据量 14NOTICE:  本次更新数据量 2 fun_affect_rows ----------------- 测试完毕(1 row)
如果要返回DML的结果,那就用returning就可以了

五、参考
http://www.postgresql.org/docs/9.0/static/plpgsql-statements.html 总结

以上是内存溢出为你收集整理的PostgreSQL获取 *** 作影响的行数全部内容,希望文章能够帮你解决PostgreSQL获取 *** 作影响的行数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1176515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存