2016-01-07 39 views
1

我正在努力执行postgressql函数。我正在尝试阅读侧面的文档,但仍然没有用。我使用Toad Extension for eclipse to develop/run the function如何运行postgressql函数

到目前为止,这是我写

CREATE OR REPLACE FUNCTION dbName.function_name() 
    RETURNS VOID AS 
$BODY$ 
DECLARE 
    x_cur CURSOR FOR select * from dbName.x; 
    x_row RECORD; 
BEGIN 
    OPEN x_cur; 
    RAISE NOTICE 'Cursor opened'; 
    LOOP 
     FETCH x_cur INTO x_row; 
     EXIT WHEN NOT FOUND; 
    END LOOP; 
    CLOSE x_cur; 
END; 
$BODY$ 
    LANGUAGE plpgsql VOLATILE; 

我执行的脚本,然后跑到选择dbName.function_name();在sql工作表中,我没有看到任何输出。

我记得在plsqldeveloper上编写函数是如此简单和互动,我正在努力与postgressql,你们可以帮我得到一个headstart。

谢谢

回答

1

我没有看到使用pgAdmin的任何问题。

函数返回VOID,但RAISE NOTICE显示消息。

我简化功能

CREATE OR REPLACE FUNCTION function_name() 
    RETURNS VOID AS 
$BODY$ 
DECLARE 
BEGIN 
    RAISE NOTICE 'Cursor opened'; 
END; 
$BODY$ 
    LANGUAGE plpgsql VOLATILE; 

并执行功能

SELECT function_name(); 

enter image description here

+0

嗯,谢谢。好像我将在IDE之间切换。你能推荐一个文档,列出PLPGSQL中的PLSQL等价函数吗?我正在寻找像record.count等的东西 –

+0

不是真的,我只是使用谷歌,通常链接到一个问题在这里。 –

+0

PLpgSQL文档非常短(但完整),从http://www.postgresql.org/docs/9.5/static/plpgsql.html开始或对plpgsql进行简短介绍http://postgres.cz/wiki/PL/pgSQL_ %28en 29% –