2013-06-20 50 views
0

我正在尋找一種基於某些SELECT查詢的結果創建UPDATE查詢的簡單方法。這樣做的目的是創建一個私人配置文件,我打算在將數據庫從「公共」備份恢復後運行。從SELECT查詢的結果生成UPDATE查詢

例如,假設我有一個與下表結構命名setting表:

| id_setting | name | value | module | 

以及諸如查詢:

select * from setting where module = 'voip' 

基於這些查詢的結果,我想要生成最終存儲在我的配置腳本中的INSERT/UPDATE語句。

任何想法如何實現這是一個通用的方式?

PS。我知道我可以將部分SQL連接在一起,但我覺得這種方法耗時。

+0

您正在使用哪種SQL(GUI)客戶端?他們中的大多數都有類似內置的東西。 –

+0

我使用pgAdmin III – zimi

回答

0

pgAdmin中最接近的是查詢工具(請參閱http://www.pgadmin.org/docs/1.16/query.html)。這不會將您的選擇語句轉化爲查詢,但是如果您不想分析和連接,則可以以圖形方式構建查詢。

如果這將是一個大而重複的任務,我會着眼於編寫一個Perl腳本來解析查詢並根據需要重寫它。這需要一些內部知識。目前還不清楚你想要做什麼來更新值,所以你不得不圍繞這個設計你的解決方案。更可能的情況是你想編寫一個功能性的API(UDF)來做你想做的事,然後編寫調用,可能不會直接在配置文件中(因爲它不清楚你可以信任),而是通過一個接口。