2013-04-20 69 views
0

我在Postgres中創建了一個函數function_1()
現在我想創建另一個類似的功能function_2()並複製function_1()的內容。從Postgres中的現有函數創建一個新函數?

任何Postgres命令行都可以做到這一點?

到目前爲止,我只用複製在命令行&粘貼的方法來創建function_2()(需粘貼後的功能名稱更改爲「function_2」)

回答

3

如果您使用的是GUI pgAdmin,你可以簡單地選擇對象瀏覽器的功能,並在SQL編輯器窗口打開反向工程SQL腳本。

有一個在選項的專用物品將其自動化:

選項 - 查詢工具 - 查詢編輯器 - 複製SQL從主窗口查詢工具

3

pg_dump函數定義,或者使用pg_get_functiondef函數來獲取函數定義。修改它取決於你。

如果您嘗試以編程方式創建函數,那麼使用PL/PgSQL的EXECUTE命令和format函數可以更好地創建動態函數。

需要做到這一點很不尋常,這表明您可能正在做一件更容易以另一種方式完成的事情。

相關問題