计算PostgreSQL中受批处理查询影响的行数
发布时间:2020-12-13 15:58:30 所属栏目:百科 来源:网络整理
导读:首先,是的,我已经阅读了DO声明的文档:) http://www.postgresql.org/docs/9.1/static/sql-do.html 所以我的问题: 我需要执行一些包含UPDATE语句的动态代码块,并计算所有受影响行的数量.我正在使用Ado.Net提供商. 在Oracle中,解决方案将包含4个步骤: 将Input
首先,是的,我已经阅读了DO声明的文档:)
http://www.postgresql.org/docs/9.1/static/sql-do.html 所以我的问题: 我需要执行一些包含UPDATE语句的动态代码块,并计算所有受影响行的数量.我正在使用Ado.Net提供商. 在Oracle中,解决方案将包含4个步骤: >将InputOutput参数“N”添加到命令 我怎么能用PostgreSQL做到这一点?我正在使用npgsql提供程序,但如果有帮助可以迁移到devard. 解决方法
DO语句块很适合执行动态SQL.回报价值并不好.使用
plpgsql
function.
您需要的关键声明是: GET DIAGNOSTICS integer_var = ROW_COUNT; Details in the manual. 示例代码: CREATE OR REPLACE FUNCTION f_upd_some() RETURNS integer AS $func$ DECLARE ct int; i int; BEGIN EXECUTE 'UPDATE tbl1 ...'; -- something dynamic here GET DIAGNOSTICS ct = ROW_COUNT; -- initialize with 1st count UPDATE tbl2 ...; -- nothing dynamic here GET DIAGNOSTICS i = ROW_COUNT; ct := ct + i; -- add up RETURN ct; END $func$ LANGUAGE plpgsql; 呼叫: SELECT * FROM f_upd_some(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |