Chapter 40.PL/pgSQL -SQL Procedural Language
- Table of Contents
- 40.1.Overview
- 40.2.Structure ofPL/pgSQL
- 40.3.Declarations
- 40.3.1.Declaring Function Parameters
- 40.3.2.ALIAS
- 40.3.3.Copying Types
- 40.3.4.Row Types
- 40.3.5.Record Types
- 40.3.6.Collation ofPL/pgSQL Variables
- 40.3.2.ALIAS
- 40.3.1.Declaring Function Parameters
- 40.4.Expressions
- 40.5.Basic Statements
- 40.5.1.Assignment
- 40.5.2.Executing a Command With No Result
- 40.5.3.Executing a Query with a Single-row Result
- 40.5.4.Executing Dynamic Commands
- 40.5.5.Obtaining the Result Status
- 40.5.6.Doing Nothing At All
- 40.5.2.Executing a Command With No Result
- 40.5.1.Assignment
- 40.6.Control Structures
- 40.6.1.Returning From a Function
- 40.6.2.Conditionals
- 40.6.3.Simple Loops
- 40.6.4.Looping Through Query Results
- 40.6.5.Looping Through Arrays
- 40.6.6.Trapping Errors
- 40.6.7.Obtaining Current Execution Information
- 40.6.2.Conditionals
- 40.6.1.Returning From a Function
- 40.7.Cursors
- 40.7.1.Declaring Cursor Variables
- 40.7.2.Opening Cursors
- 40.7.3.Using Cursors
- 40.7.4.Looping Through a Cursor's Result
- 40.7.2.Opening Cursors
- 40.7.1.Declaring Cursor Variables
- 40.8.Errors and Messages
- 40.9.Trigger Procedures
- 40.9.1.Triggers on Data Changes
- 40.9.2.Triggers on Events
- 40.9.1.Triggers on Data Changes
- 40.10.PL/pgSQL Under the Hood
- 40.10.1.Variable Substitution
- 40.10.2.Plan Caching
- 40.10.1.Variable Substitution
- 40.11.Tips for Developing inPL/pgSQL
- 40.11.1.Handling of Quotation Marks
- 40.11.2.Additional Compile-time Checks
- 40.11.1.Handling of Quotation Marks
- 40.12.Porting fromOracle PL/SQL
- 40.12.1.Porting Examples
- 40.12.2.Other Things to Watch For
- 40.12.3.Appendix
- 40.12.2.Other Things to Watch For
- 40.12.1.Porting Examples