sql >> Database teknologi >  >> RDS >> Oracle

Kalder PLSQL lagret proc fra Grails service

sql.call resultater til GroovyResultSet . Du burde være i stand til at lave en eachRow på resultatsættet, og skub det til listen.

def listPeople(){
    Sql sql = new groovy.sql.Sql(dataSource)
    def resultList = []

    sql.call("BEGIN mypackage.p_get_people(?); END;",
            [Sql.resultSet(OracleTypes.CURSOR)]) {cursorResults -> 
            cursorResults.eachRow{result ->
                resultList << result
            }
    }
    return resultList
}

EDIT:

Alternativt ved at bruge sql.eachRow

    sql.eachRow("BEGIN mypackage.p_get_people(?); END;",
            [Sql.resultSet(OracleTypes.CURSOR)]) {row -> 
                resultList << row
    }


  1. Opretter ActionScript Date-objekt fra MySQL UTC-tidsstempelstreng

  2. Native tabel 'performance_schema'.'???' har den forkerte struktur

  3. Når du tilmelder dig et meget lille/tomt bord, hvorfor laver MySQL en fuld scanning på trods af, at jeg bruger LIMIT?

  4. MySQL CASE-sætning og REGEXP