This is an example of a stored procedure without cursors:
/* Increase the prices of books in the
** titles table as follows:
**
** If current price is <= $30, increase it by 20%
** If current price is > $30 and <= $60, increase
** it by 10%
** If current price is > $60, increase it by 5%
**
** All price changes must take effect, so this is
** done in a single transaction.
*/
create procedure increase_price
as
/* start the transaction */
begin transaction
/* first update prices > $60 */
update titles
set price = price * 1.05
where price > $60
/* next, prices between $30 and $60 */
update titles
set price = price * 1.10
where price > $30 and price <= $60
/* and finally prices <= $30 */
update titles
set price = price * 1.20
where price <= $30
/* commit the transaction */
commit transaction
return