2010-12-16 49 views
0

我使用Groovy的sql.rows(SPCallString)函數來調用存儲過程,該存儲過程根據參數返回一些行。創建一個聯合或加入從groovy返回的值sql.rows()

我這樣做了3個不同的存儲過程。

有沒有辦法在groovy我可以執行一個「聯合」從三個調用返回的那些行?

我基本上想是這樣的:

如果這些行從sql.rows爲三個調用返回,

->"X","Y", "M" 
->"X","Y", "P" 
->"X","Y", "Q" 

我想回到

->"X","Y", "M,P,Q" 

謝謝!

+0

還是希望[「X」,「Y」,「M」,「P」,「Q」 - 這就是我所理解的工會的三個。 – mfloryan 2010-12-17 08:19:42

+0

這可能是可以接受的,雖然我正在爲一個固定大小的表格進行格式化,所以如果是這樣的話,我最終會連接M P Q列 – Derek 2010-12-17 12:34:41

回答

0

我不知道我理解你的問題,但好像你想將每個proc返回的所有行添加到一個集合中,而沒有任何重複。如果是這樣,我想你可以使用Set

Set<GroovyRowResult> rowResults = [] as Set 
Sql sql = // instantiate using a Connection, DataSource, or whatever 
List<String> spCallStrings = [] // add the SQL strings that calls each proc to this List 

spCallStrings.each { spCallString -> 

    rowResults.addAll(sql.rows(spCallString)) 
}