我们应该使用哪个工具对PostgreSql执行存储过程
我有一些返回ref游标的存储过程。手册建议采用一种有点复杂的方法来执行它们并查看结果:我们应该使用哪个工具对PostgreSql执行存储过程,sql,postgresql,stored-procedures,postgresql-9.2,Sql,Postgresql,Stored Procedures,Postgresql 9.2,我有一些返回ref游标的存储过程。手册建议采用一种有点复杂的方法来执行它们并查看结果: -- need to be in a transaction to use cursors. BEGIN; SELECT reffunc2(); reffunc2 -------------------- <unnamed cursor 1> (1 row) FETCH ALL IN "<unnamed cursor 1>"; COMMIT; 当我尝试这一点时,我的
-- need to be in a transaction to use cursors.
BEGIN;
SELECT reffunc2();
reffunc2
--------------------
<unnamed cursor 1>
(1 row)
FETCH ALL IN "<unnamed cursor 1>";
COMMIT;
当我尝试这一点时,我的SQL Manager Lite一直缠着我。我在使用我的客户用C开发的结果集时没有问题
我和我的用户是否应该使用一个简单的工具来执行返回ref游标的存储过程?一般来说,我的经验是,命令行psql客户端是PostgreSQL中最好的通用工具。它用于编写脚本,可以生成各种不同的输出格式,但它也可以以良好的交互方式工作。Refcursors可能有点奇怪,因为许多GUI工具处理它们的效果都不好,因为事务中没有交互。IIRC,这也是pgadmin的问题
否则,如果你有更特殊的用途,你最好的选择是只为这个目的构建一个工具。一般来说,我的经验是,命令行psql客户端是你为PostgreSQL找到的最好的通用工具。它用于编写脚本,可以生成各种不同的输出格式,但它也可以以良好的交互方式工作。Refcursors可能有点奇怪,因为许多GUI工具处理它们的效果都不好,因为事务中没有交互。IIRC,这也是pgadmin的问题
否则,如果您有更特殊的用途,您最好的选择是构建一个仅用于此目的的工具。默认psql客户端可以与游标配合使用。这看起来像是SQL Manager Lite的问题,而不是Postgres的问题。默认psql客户端可以与游标配合使用。这看起来像是SQL Manager Lite的问题,对博士后来说就不那么多了。