groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul King <pa...@asert.com.au>
Subject Re: Groovy SQL stored procedure result processing
Date Tue, 26 May 2015 20:51:32 GMT

Can you show us how you used eachRow?

Cheers, Paul.

On 27/05/2015 1:05 AM, Arthur Ramsey wrote:
> I tried eachRow and only get the first row.  No there are no OUT params.
>
> On 5/26/2015 3:20 AM, Paul King wrote:
>>
>> I am not a Perl expert but from what I see here, you should only need to use
>> rows or eachRow. Does the stored procedure definition have any OUT params?
>> It doesn't look like it from the Perl.
>>
>> Cheers, Paul.
>>
>> On 26/05/2015 5:07 AM, arthur_ramsey@mediture.com wrote:
>>> Hello,
>>>
>>> I'm new to Groovy and I'm trying to port the following perl DBI code to Groovy
SQL.  The code executes a stored procedure that produces multiple logging statements as results
(not an OUT parameter).
>>>
>>> my $sth = $dbh->prepare("CALL spLoad_whse_subjectarea(?,true,?,?,?,?,?)");
>>> $sth->execute($_[0],$_[1],$_[2],$_[3],$_[4],$_[5]);
>>> do {
>>>     while (@row = $sth->fetchrow_array) {
>>>         foreach (@row) {
>>>             print "$_ ";
>>>         }
>>>         print "\n";
>>>     }
>>> } while ($sth->more_results);
>>>
>>> The following Groovy code captures everything, but it blocks until the stored
procedure completes unlike the perl code which processes results prior to completion.  The
effect is delayed logging.
>>>
>>> sql.execute('SET @data_history_units = ?',data_history_units)
>>> List<List<GroovyRowResult>> results = sql.callWithAllRows'{call spLoad_whse_subjectarea(?,?,?,?,?,?,?)}',
[in_step, run_step, in_step_title, in_procedure, in_current_stmt, in_start_data, in_run_count],
{}
>>> results.each {result  ->
>>>      result.each { row ->
>>>          row.each {
>>>              log.info(it.value.toString())
>>>          }
>>>      }
>>> }
>>>
>>> I also tried sql.eachRow, but that seems to only get the first result.  I had
a similar outcome with perl DBI before I added the "while ($sth->more_results)".  Is there
anyway I can better emulate the perl code even if I have to interact with jdbc more closely?
>>>
>>>
>>>
>>>
>>>
>>
>>
>> ---
>> This email has been checked for viruses by Avast antivirus software.
>> http://www.avast.com
>>
>
>
>
>


---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com


Mime
View raw message