PostgreSQL 9.0.7 Documentation
Prev | Up |  | Next

# Chapter 39. PL/pgSQL - SQL Procedural Language

Table of Contents
39.1. Overview
  39.1.1. Advantages of Using PL/pgSQL
  39.1.2. Supported Argument and Result Data Types
39.2. Structure of PL/pgSQL
39.3. Declarations
  39.3.1. Declaring Function Parameters
  39.3.2. `ALIAS`
  39.3.3. Copying Types
  39.3.4. Row Types
  39.3.5. Record Types
39.4. Expressions
39.5. Basic Statements
  39.5.1. Assignment
  39.5.2. Executing a Command With No Result
  39.5.3. Executing a Query with a Single-Row Result
  39.5.4. Executing Dynamic Commands
  39.5.5. Obtaining the Result Status
  39.5.6. Doing Nothing At All
39.6. Control Structures
  39.6.1. Returning From a Function
  39.6.2. Conditionals
  39.6.3. Simple Loops
  39.6.4. Looping Through Query Results
  39.6.5. Trapping Errors
39.7. Cursors
  39.7.1. Declaring Cursor Variables
  39.7.2. Opening Cursors
  39.7.3. Using Cursors
  39.7.4. Looping Through a Cursor's Result
39.8. Errors and Messages
39.9. Trigger Procedures
39.10. PL/pgSQL Under the Hood
  39.10.1. Variable Substitution
  39.10.2. Plan Caching
39.11. Tips for Developing in PL/pgSQL
39.12. Porting from Oracle PL/SQL
  39.12.1. Porting Examples
  39.12.2. Other Things to Watch For
  39.12.3. Appendix

Prev | Home | Next
Installing Procedural Languages | Up | Overview