Services
  • 24×7×365 Technical Support
  • Migration to PostgreSQL
  • High Availability Deployment
  • Database Audit
  • Remote DBA for PostgreSQL
Products
  • Postgres Pro Enterprise
  • Postgres Pro Standard
  • Cloud Solutions
  • Postgres Extensions
Resources
  • Blog
  • Documentation
  • Webinars
  • Videos
  • Presentations
Community
  • Events
  • Training Courses
  • Books
  • Demo Database
  • Mailing List Archives
About
  • Leadership team
  • Partners
  • Customers
  • In the News
  • Press Releases
  • Press Info

Facebook
Postgres Pro
  • Services
    24×7×365 Technical Support Migration to PostgreSQL High Availability Deployment Database Audit Remote DBA for PostgreSQL
  • Products
    Postgres Pro Enterprise Postgres Pro Standard Cloud Solutions Postgres Extensions
  • Resources
    Blog Documentation Webinars Videos Presentations
  • Community
    Events Training Courses Books Demo Database Mailing List Archives
  • About
    Leadership team Partners Customers In the News Press Releases Press Info
Facebook
Downloads
Chapter 41. PL/pgSQL - SQL Procedural Language
Prev UpPart V. Server ProgrammingHome Next

Chapter 41. PL/pgSQL - SQL Procedural Language

Table of Contents

41.1. Overview
41.1.1. Advantages of Using PL/pgSQL
41.1.2. Supported Argument and Result Data Types
41.2. Structure of PL/pgSQL
41.3. Declarations
41.3.1. Declaring Function Parameters
41.3.2. ALIAS
41.3.3. Copying Types
41.3.4. Row Types
41.3.5. Record Types
41.3.6. Collation of PL/pgSQL Variables
41.4. Expressions
41.5. Basic Statements
41.5.1. Assignment
41.5.2. Executing a Command With No Result
41.5.3. Executing a Query with a Single-row Result
41.5.4. Executing Dynamic Commands
41.5.5. Obtaining the Result Status
41.5.6. Doing Nothing At All
41.6. Control Structures
41.6.1. Returning From a Function
41.6.2. Conditionals
41.6.3. Simple Loops
41.6.4. Looping Through Query Results
41.6.5. Looping Through Arrays
41.6.6. Trapping Errors
41.6.7. Obtaining Execution Location Information
41.7. Cursors
41.7.1. Declaring Cursor Variables
41.7.2. Opening Cursors
41.7.3. Using Cursors
41.7.4. Looping Through a Cursor's Result
41.8. Errors and Messages
41.8.1. Reporting Errors and Messages
41.8.2. Checking Assertions
41.9. Trigger Procedures
41.9.1. Triggers on Data Changes
41.9.2. Triggers on Events
41.10. PL/pgSQL Under the Hood
41.10.1. Variable Substitution
41.10.2. Plan Caching
41.11. Tips for Developing in PL/pgSQL
41.11.1. Handling of Quotation Marks
41.11.2. Additional Compile-time Checks
41.12. Porting from Oracle PL/SQL
41.12.1. Porting Examples
41.12.2. Other Things to Watch For
41.12.3. Appendix

Prev Home Next
40.1. Installing Procedural Languages Up 41.1. Overview
epub pdf

This page in other versions:

Postgres Pro Standard 17
Postgres Pro Standard 16
Postgres Pro Standard 15
Postgres Pro Standard 14
Postgres Pro Standard 13
Postgres Pro Standard 12
Postgres Pro Standard 11
Postgres Pro Standard 10
Postgres Pro Standard 9.6
Postgres Pro Standard 9.5
Postgres Pro Enterprise 17
Postgres Pro Enterprise 16
Postgres Pro Enterprise 15
Postgres Pro Enterprise 14
Postgres Pro Enterprise 13
Postgres Pro Enterprise 12
Postgres Pro Enterprise 11
Postgres Pro Enterprise 10
Postgres Pro Enterprise 9.6
PostgreSQL 17
PostgreSQL 16
PostgreSQL 15
PostgreSQL 14
PostgreSQL 13
PostgreSQL 12
PostgreSQL 11
PostgreSQL 10
PostgreSQL 9.6
PostgreSQL 9.5
PostgreSQL 9.4
Есть вопросы? Напишите нам!

Соглашаюсь с условиями обработки персональных данных



✖
×
Postgres Pro Standard 17 Postgres Pro Standard 16 Postgres Pro Standard 15 Postgres Pro Standard 14 Postgres Pro Standard 13 Postgres Pro Standard 12 Postgres Pro Standard 11 Postgres Pro Standard 10 Postgres Pro Standard 9.6 Postgres Pro Standard 9.5
Postgres Pro Enterprise 17 Postgres Pro Enterprise 16 Postgres Pro Enterprise 15 Postgres Pro Enterprise 14 Postgres Pro Enterprise 13 Postgres Pro Enterprise 12 Postgres Pro Enterprise 11 Postgres Pro Enterprise 10 Postgres Pro Enterprise 9.6
PostgreSQL 17 PostgreSQL 16 PostgreSQL 15 PostgreSQL 14 PostgreSQL 13 PostgreSQL 12 PostgreSQL 11 PostgreSQL 10 PostgreSQL 9.6 PostgreSQL 9.5 PostgreSQL 9.4
Go to Postgres Pro Enterprise 9.6
Services
  • 24×7×365 Technical Support
  • Migration to PostgreSQL
  • High Availability Deployment
  • Database Audit
  • Remote DBA for PostgreSQL
Products
  • Postgres Pro Enterprise
  • Postgres Pro Standard
  • Cloud Solutions
  • Postgres Extensions
Resources
  • Blog
  • Documentation
  • Webinars
  • Videos
  • Presentations
Community
  • Events
  • Training Courses
  • Books
  • Demo Database
  • Mailing List Archives
About
  • Leadership team
  • Partners
  • Customers
  • In the News
  • Press Releases
  • Press Info
Products
  • Postgres Pro Enterprise
  • Postgres Pro Standard
  • Cloud Solutions
  • Postgres Extensions
Resources
  • Blog
  • Documentation
  • Webinars
  • Videos
  • Presentations
Services
  • 24×7×365 Technical Support
  • Migration to Postgres
  • High Availability Deployment
  • Database Audit
  • Remote DBA for PostgreSQL
Community
  • Events
  • Training Courses
  • Intro Book
  • Demo Database
  • Mailing List Archives
About
  • Leadership team
  • Partners
  • Customers
  • In the News
  • Press Releases
  • Press Info
Contacts
  • Neptune House, Marina Bay, office 207, Gibraltar, GX11 1AA
  • info@postgrespro.com
  • Facebook
Get in touch!



© Postgres Professional Europe Limited, 2015 — 2025
EULA EULA for Cloud Environments Privacy Policy GDPR Compliance Commitment
© Postgres Professional Europe Limited, 2015 — 2025
EULA
EULA for Cloud Environments
Privacy Policy
GDPR Compliance Commitment
By continuing to browse this website, you agree to the use of cookies. Go to Privacy Policy.