py小bai 2022-05-24 10:57 采纳率: 81.3%
浏览 207
已结题

PGSQL 存储过程及游标的使用问题

img

img

尝试在pgsql上写一个关于存储过程和游标 的demo,但是总是报错(如图2),想问下哪里有错误吗?

  • 写回答

2条回答 默认 最新

  • leaf_cq 2022-05-24 12:55
    关注

    1、我在pg12版本的数据库上测试是没有问题的

    img

    2、不知道是不是你的数据库版本问题,报错信息上显示varchar类型错误,你使用integer类型测试下,或者直接运行我的脚本试下看呢

        DO $$
        DECLARE
            v_cnt      integer;
            cur_tmp    CURSOR( v_k varchar ) FOR ( SELECT count(1) cnt FROM pg_tables WHERE tablename ~ v_k );
        BEGIN
            FOR rec IN cur_tmp( 'pg' ) LOOP
                SELECT rec.cnt INTO v_cnt;
            END LOOP;
            RAISE NOTICE '%', v_cnt;
        END;
        $$;
    
    

    另:函数的参数名与游标的参数名不一致是正常的,一致了才会导致混乱

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月2日
  • 已采纳回答 5月25日
  • 创建了问题 5月24日