首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NPGSQL游标移动所有受影响的行(或行计数)

NPGSQL游标移动所有受影响的行(或行计数)
EN

Stack Overflow用户
提问于 2016-01-28 10:04:57
回答 1查看 302关注 0票数 0

我试图使用npgsql从以下查询中获取“受影响的行”计数:

代码语言:javascript
复制
DECLARE cursor SCROLL CURSOR FOR SELECT * FROM public."table";
MOVE ALL IN cursor;

使用PgAdmin的SQL编辑器,运行此查询将提供:“成功返回的查询: 5736行受影响,31毫秒执行时间。”

使用npgsql:

代码语言:javascript
复制
var transaction = conn.BeginTransaction();
NpgsqlCommand command = new NpgsqlCommand("DECLARE cursor SCROLL CURSOR FOR SELECT * FROM public.\"PARTIJ\"; MOVE ALL IN cursor", conn);
var count = command.ExecuteNonQuery();
// I valided here the cursor did move to end of result -- so cursor is working.
transaction.Commit();

我本来以为是5736,但计数等于-1。我是否可以使用npgsql获得与PgAdmin相同的受影响的行数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-02 10:18:32

这可能是因为您试图获取多语句命令的受影响行计数--您的第一条语句创建了游标,而第二条语句实际上移动了它(尽管我不确定“受影响的行”在移动游标(而不是抓取)时意味着什么)。尝试用两个不同的命令发送语句,并获得第二个受影响的行。

撇开这一切不说,在这里使用游标而不仅仅是做SELECT COUNT(*) FROM public."table"的任何特殊原因

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35058348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档