Предыдущие примеры достаточно просты, но GroovySql столь же тверд, когда речь заходит о более сложных запросов манипулирования данными, таких как вставки, обновления и удалять запросы. Для этого вам не обязательно использовать замкнутые выражения, так в Groovy SQL-объект обеспечивает выполнение и executeUpdate методы вместо них.
Эти методы напоминают класс оператора JDBC, у которого также есть выполнение и executeUpdate метод.Здесь Вы видите простую вставку, которая использует подстановку снова с ${} синтаксисом. Этот код просто вставляет новую строку в таблицу.
firstName = "yue"
lastName = "wu"
sql.execute("insert into people (firstName, lastName) "+
" values ('${firstName}', ${lastName})")
Заметим, что в этом примере, вы должны поставить кавычки вокруг любых строковых данных в операторе вставки. Обычно это не лучший способ (подумать о том, что произойдет, если ваши данные содержат символ кавычки). Лучший способ сделать то же самое, заключается в том, чтобы использовать подготовленных операторов следующим образом:
firstName = "yue"
lastName = "wu"
sql.execute("insert into people (firstName, lastName) "+
" values (?,?)", [firstName, lastName])
Данные, которые вы хотите включить заменяется "?" в операторе вставки, а затем значения передаются в качестве массива данных элементов. Обновления аналогичны, они также используют executeUpdate метод. Обратите внимание на то, что в Распечатке 8 executeUpdate метод принимает список значений, которые будут согласованы к передаче ?
элементы в запросе.comment = "Lazy bum"
sql.executeUpdate("update people set comment = ? where id=002", [comment])
Удаляет по существу также, как и вставки, за исключением, разумеется, что синтаксис запроса является различным.
sql.execute("delete from word where word_id = ?" , [5])