Chapter 39. ECPG — Embedded SQL in C

Table of Contents

39.1. The Concept
39.2. Managing Database Connections
39.2.1. Connecting to the Database Server
39.2.2. Choosing a Connection
39.2.3. Closing a Connection
39.3. Running SQL Commands
39.3.1. Executing SQL Statements
39.3.2. Using Cursors
39.3.3. Managing Transactions
39.3.4. Prepared Statements
39.4. Using Host Variables
39.4.1. Overview
39.4.2. Declare Sections
39.4.3. Retrieving Query Results
39.4.4. Type Mapping
39.4.5. Handling Nonprimitive SQL Data Types
39.4.6. Indicators
39.5. Dynamic SQL
39.5.1. Executing Statements without a Result Set
39.5.2. Executing a Statement with Input Parameters
39.5.3. Executing a Statement with a Result Set
39.6. pgtypes Library
39.6.1. Character Strings
39.6.2. The numeric Type
39.6.3. The date Type
39.6.4. The timestamp Type
39.6.5. The interval Type
39.6.6. The decimal Type
39.6.7. errno Values of pgtypeslib
39.6.8. Special Constants of pgtypeslib
39.7. Using Descriptor Areas
39.7.1. Named SQL Descriptor Areas
39.7.2. SQLDA Descriptor Areas
39.8. Error Handling
39.8.1. Setting Callbacks
39.8.2. sqlca
39.8.3. SQLSTATE vs. SQLCODE
39.9. Preprocessor Directives
39.9.1. Including Files
39.9.2. The define and undef Directives
39.9.3. ifdef, ifndef, elif, else, and endif Directives
39.10. Processing Embedded SQL Programs
39.11. Library Functions
39.12. Large Objects
39.13. C++ Applications
39.13.1. Scope for Host Variables
39.13.2. C++ Application Development with External C Module
39.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
DECLARE STATEMENT — declare SQL statement identifier
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
39.15. Informix Compatibility Mode
39.15.1. Additional Types
39.15.2. Additional/Missing Embedded SQL Statements
39.15.3. Informix-compatible SQLDA Descriptor Areas
39.15.4. Additional Functions
39.15.5. Additional Constants
39.16. Oracle Compatibility Mode
39.17. 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.