2016-01-07 43 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% –