2014-01-23 59 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

相关问题