Выполнить процедуру с оператором SQL с параметром groovy - PullRequest
0 голосов
/ 30 апреля 2020

Клиент SQL Процедура начинается следующим образом, и они обнуляются для значения: @ Firma

EXECUTE @RC = [dbo].[Aktualizace_stavba_data]

@Firma 

GO 

GROOVY SCRIPT - который мне нужно отредактировать с вашей помощью:

import de.uplanet.scripting.groovy.util.Safely

def conn  = g_dbConnections["IPOS20016"]

String Firma= g_request.get("Firma"); //prepared value

//now I dont know how to implement and also write correctly the rest of the script.

def strCall = "{call inc(2,3)}"

def call = conn.prepareCall(strCall)
call.execute()

def rs = call.getResultSet()
def contentProc

while (rs.next()){
contentProc = rs.getInt(1)
}

rs = Safely.close(rs)
stmt = Safely.close(call)

1 Ответ

0 голосов
/ 30 апреля 2020

Я использовал следующее для вызова сохраненного профессионала c, который принимает параметр и возвращает одно значение VARCHAR. В Groovy вы обычно не используете resultSet.

conn.query("{? = call dbo.Aktualizace_stavba_data(?)}", [Sql.out(Sql.VARCHAR.type), 'parm1']) { returned ->
    println "returned: ${returned}"
}

EDIT: я удалил первый '? = 'из запроса, это была ошибка. Официальная документация здесь: https://docs.groovy-lang.org/latest/html/documentation/sql-userguide.html#_stored_procedures

...