2014-01-23 57 views
0

我需要處理數萬行數據庫表中的文本列(多列之一)。輸出將是每行的文本列的子字符串(通過正則表達式找到)。我應該使用哪種以下兩種方法之一:在函數中是否執行查詢

  1. SELECT function1();在函數本身運行SELECT然後處理文本列。
  2. SELECT function2(value) from table1, table2, ... where ...;其中只有文本列被傳遞給函數進行處理。

這將在PostgreSQL 8.4上運行。

+0

你在function1()中有什麼? – logan

+1

根據您在函數中寫入的查詢,第1種類型將始終保持相同。 2 nd類型就像泛型一樣,輸出將根據傳遞的參數值varry ... –

+0

@logan:該函數將執行類似於(2)的查詢,並處理文本列。重點是該函數自己執行查詢,而不是處理單個列。 – SabreWolfy

回答

1

在第二個查詢中:查詢將爲它返回的每一行調用函數。而第一個查詢只調用該函數一次..

這取決於你有哪些內容在功能上說什麼是有效的!如果你已經給出了功能內容,這將意味着完整的問題!

+0

我還沒有寫出函數,因爲這取決於我應該採取哪種方法:) – SabreWolfy

+1

罰款..如果你想在所有行的每個數據列應用函數,然後去選項2;其他選項1 – logan

相關問題