Chapter 37. ECPG - Embedded SQL in C

Table of Contents

37.1. The Concept
37.2. Managing Database Connections
37.2.1. Connecting to the Database Server
37.2.2. Choosing a Connection
37.2.3. Closing a Connection
37.3. Running SQL Commands
37.3.1. Executing SQL Statements
37.3.2. Using Cursors
37.3.3. Managing Transactions
37.3.4. Prepared Statements
37.4. Using Host Variables
37.4.1. Overview
37.4.2. Declare Sections
37.4.3. Retrieving Query Results
37.4.4. Type Mapping
37.4.5. Handling Nonprimitive SQL Data Types
37.4.6. Indicators
37.5. Dynamic SQL
37.5.1. Executing Statements without a Result Set
37.5.2. Executing a Statement with Input Parameters
37.5.3. Executing a Statement with a Result Set
37.6. pgtypes Library
37.6.1. Character Strings
37.6.2. The numeric Type
37.6.3. The date Type
37.6.4. The timestamp Type
37.6.5. The interval Type
37.6.6. The decimal Type
37.6.7. errno Values of pgtypeslib
37.6.8. Special Constants of pgtypeslib
37.7. Using Descriptor Areas
37.7.1. Named SQL Descriptor Areas
37.7.2. SQLDA Descriptor Areas
37.8. Error Handling
37.8.1. Setting Callbacks
37.8.2. sqlca
37.8.3. SQLSTATE vs. SQLCODE
37.9. Preprocessor Directives
37.9.1. Including Files
37.9.2. The define and undef Directives
37.9.3. ifdef, ifndef, else, elif, and endif Directives
37.10. Processing Embedded SQL Programs
37.11. Library Functions
37.12. Large Objects
37.13. C++ Applications
37.13.1. Scope for Host Variables
37.13.2. C++ Application Development with External C Module
37.14. Embedded SQL Commands
ALLOCATE DESCRIPTOR — allocate an SQL descriptor area
CONNECT — establish a database connection
DEALLOCATE DESCRIPTOR — deallocate an SQL descriptor area
DECLARE — define a cursor
DESCRIBE — obtain information about a prepared statement or result set
DISCONNECT — terminate a database connection
EXECUTE IMMEDIATE — dynamically prepare and execute a statement
GET DESCRIPTOR — get information from an SQL descriptor area
OPEN — open a dynamic cursor
PREPARE — prepare a statement for execution
SET AUTOCOMMIT — set the autocommit behavior of the current session
SET CONNECTION — select a database connection
SET DESCRIPTOR — set information in an SQL descriptor area
TYPE — define a new data type
VAR — define a variable
WHENEVER — specify the action to be taken when an SQL statement causes a specific class condition to be raised
37.15. Informix Compatibility Mode
37.15.1. Additional Types
37.15.2. Additional/Missing Embedded SQL Statements
37.15.3. Informix-compatible SQLDA Descriptor Areas
37.15.4. Additional Functions
37.15.5. Additional Constants
37.16. Internals

This chapter describes the embedded SQL package for Postgres Pro. It was written by Linus Tolke () and Michael Meskes (). Originally it was written to work with C. It also works with C++, but it does not recognize all C++ constructs yet.

This documentation is quite incomplete. But since this interface is standardized, additional information can be found in many resources about SQL.