尝试在pgsql上写一个关于存储过程和游标 的demo,但是总是报错(如图2),想问下哪里有错误吗?
2条回答 默认 最新
- leaf_cq 2022-05-24 12:55关注
1、我在pg12版本的数据库上测试是没有问题的
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无用