2017-01-30 76 views
0

我有一個用plpythonu編寫的函數。 我想添加一個2行代碼,將plpgsql寫入此函數。如何在plpythonu函數中編寫plpgsql代碼(PostgreSQL)

這是我的函數:

CREATE OR REPLACE FUNCTION A(x integer) 
    RETURNS integer AS 
$$ 
    plpythonu code... 
    #################### 
    add some comands in plpgsql 
    #################### 
    plpythonu code... 
$$ 
    LANGUAGE plpythonu VOLATILE 

我該怎麼辦呢? plpgsql代碼已準備就緒,我只需要知道如何讓plpythonu接受它。

我知道我可以爲plpgsql代碼創建一個函數,並從python調用它,但它似乎過多。

任何想法?

+0

函數只能用一種語言實現。無論是PL/pgSQL **或** PL/Python –

+0

@a_horse_with_no_name我看到有一個選項可以用不同的語言打開一個塊https://www.postgresql.org/docs/9.3/static/sql-do.html – avi

回答

0

以與清除SQL代碼相同的方式執行(使用DO子句)。您不能將plpgsql(與任何其他pl語言一樣)放入其他語言的函數中。

+0

但是DO的說法呢? https://www.postgresql.org/docs/9.3/static/sql-do.html – avi

+0

我說,plpgsql可以通過執行(作爲字符串)作爲普通的SQL調用。我的意思是你不能用一種語言直接在另一種語言的代碼中嵌入代碼。可能我的英語不允許我正確寫下這些內容。 –

相關問題