Examples 677–698 · Part VII: Objects, Transactions and Programming
| # | Example | Level |
|---|---|---|
| 677 | A SQL function | Beginner |
| 678 | A PL/pgSQL function | Beginner |
| 679 | Parameters, defaults and named arguments | Intermediate |
| 680 | Returning a set of rows | Intermediate |
| 681 | OUT parameters and composite returns | Intermediate |
| 682 | Volatility: IMMUTABLE, STABLE, VOLATILE | Intermediate |
| 683 | Functions in index expressions | Intermediate |
| 684 | Exception handling | Intermediate |
| 685 | The cost of per-row function calls | Intermediate |
| 686 | Function overloading | Intermediate |
| 687 | Dynamic SQL with EXECUTE | Intermediate |
| 688 | Loops and cursors | Intermediate |
| 689 | When a SQL function is inlined | Intermediate |
| 690 | SECURITY DEFINER functions | Intermediate |
| 691 | Procedures and transaction control | Intermediate |
| 692 | Aggregate functions you define | Intermediate |
| 693 | Function metadata and introspection | Intermediate |
| 694 | Function permissions | Intermediate |
| 695 | Function calls in the plan | Advanced |
| 696 | Choosing where logic lives | Advanced |
| 697 | Recursive and mutually recursive functions | Intermediate |
| 698 | Testing and versioning functions | Advanced |
The solutions and explanations are in the book.