sql >> Databasteknik >  >> RDS >> Oracle

Ringer PLSQL lagrad proc från Grails service

sql.call resultat till GroovyResultSet . Du bör kunna göra en eachRow på resultatuppsättningen och skjut den till listan.

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 med sql.eachRow

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


  1. MySQL-fråga - 'CAST' 'CONCAT' - Hur multiplicerar man flera rader med data med ett visst belopp och visar deras individuella totalsummor i en ny kolumn i £?

  2. Hur ändrar jag min befintliga tabell för att skapa en intervallpartition i Oracle

  3. Att fråga efter Postgresql med Hibernate (JPA) hittar ingen tabell

  4. loader-begränsningar överträtts vid länkning av javax/xml/namespace/QName-klass från webbapp på Oracle 10g