Functions and procedures are powerful building blocks that allow the implementation of reusable server side code. Thanks to their properties, it is possible to write programs that can interact with the underlying database and the current transaction.
In the next chapter, we will learn how functions and procedures can be developed using "external" programming languages such as Perl and Java.