<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >ECPG - Embedded SQL in C</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="HOME" TITLE="PostgreSQL 9.0.15 Documentation" HREF="index.html"><LINK REL="UP" TITLE="Client Interfaces" HREF="client-interfaces.html"><LINK REL="PREVIOUS" TITLE="Example Program" HREF="lo-examplesect.html"><LINK REL="NEXT" TITLE="The Concept" HREF="ecpg-concept.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"><META NAME="creation" CONTENT="2014-01-24T13:16:52"></HEAD ><BODY CLASS="CHAPTER" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="5" ALIGN="center" VALIGN="bottom" ><A HREF="index.html" >PostgreSQL 9.0.15 Documentation</A ></TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A TITLE="Example Program" HREF="lo-examplesect.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="client-interfaces.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="60%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="20%" ALIGN="right" VALIGN="top" ><A TITLE="The Concept" HREF="ecpg-concept.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="ECPG" ></A >Chapter 33. <SPAN CLASS="APPLICATION" >ECPG</SPAN > - Embedded <ACRONYM CLASS="ACRONYM" >SQL</ACRONYM > in C</H1 ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >33.1. <A HREF="ecpg-concept.html" >The Concept</A ></DT ><DT >33.2. <A HREF="ecpg-connect.html" >Connecting to the Database Server</A ></DT ><DT >33.3. <A HREF="ecpg-disconnect.html" >Closing a Connection</A ></DT ><DT >33.4. <A HREF="ecpg-commands.html" >Running SQL Commands</A ></DT ><DT >33.5. <A HREF="ecpg-set-connection.html" >Choosing a Connection</A ></DT ><DT >33.6. <A HREF="ecpg-variables.html" >Using Host Variables</A ></DT ><DD ><DL ><DT >33.6.1. <A HREF="ecpg-variables.html#AEN38617" >Overview</A ></DT ><DT >33.6.2. <A HREF="ecpg-variables.html#AEN38624" >Declare Sections</A ></DT ><DT >33.6.3. <A HREF="ecpg-variables.html#AEN38635" >Different types of host variables</A ></DT ><DT >33.6.4. <A HREF="ecpg-variables.html#AEN38674" ><TT CLASS="COMMAND" >SELECT INTO</TT > and <TT CLASS="COMMAND" >FETCH INTO</TT ></A ></DT ><DT >33.6.5. <A HREF="ecpg-variables.html#AEN38691" >Indicators</A ></DT ></DL ></DD ><DT >33.7. <A HREF="ecpg-dynamic.html" >Dynamic SQL</A ></DT ><DT >33.8. <A HREF="ecpg-pgtypes.html" >pgtypes library</A ></DT ><DD ><DL ><DT >33.8.1. <A HREF="ecpg-pgtypes.html#AEN38721" >The numeric type</A ></DT ><DT >33.8.2. <A HREF="ecpg-pgtypes.html#AEN38897" >The date type</A ></DT ><DT >33.8.3. <A HREF="ecpg-pgtypes.html#AEN39291" >The timestamp type</A ></DT ><DT >33.8.4. <A HREF="ecpg-pgtypes.html#AEN39591" >The interval type</A ></DT ><DT >33.8.5. <A HREF="ecpg-pgtypes.html#AEN39635" >The decimal type</A ></DT ><DT >33.8.6. <A HREF="ecpg-pgtypes.html#AEN39657" >errno values of pgtypeslib</A ></DT ><DT >33.8.7. <A HREF="ecpg-pgtypes.html#AEN39721" >Special constants of pgtypeslib</A ></DT ></DL ></DD ><DT >33.9. <A HREF="ecpg-descriptors.html" >Using Descriptor Areas</A ></DT ><DD ><DL ><DT >33.9.1. <A HREF="ecpg-descriptors.html#ECPG-NAMED-DESCRIPTORS" >Named SQL Descriptor Areas</A ></DT ><DT >33.9.2. <A HREF="ecpg-descriptors.html#ECPG-SQLDA-DESCRIPTORS" >SQLDA Descriptor Areas</A ></DT ></DL ></DD ><DT >33.10. <A HREF="ecpg-informix-compat.html" ><SPAN CLASS="PRODUCTNAME" >Informix</SPAN > compatibility mode</A ></DT ><DD ><DL ><DT >33.10.1. <A HREF="ecpg-informix-compat.html#AEN40003" >Additional types</A ></DT ><DT >33.10.2. <A HREF="ecpg-informix-compat.html#AEN40009" >Additional/missing embedded SQL statements</A ></DT ><DT >33.10.3. <A HREF="ecpg-informix-compat.html#AEN40034" >Informix-compatible SQLDA Descriptor Areas</A ></DT ><DT >33.10.4. <A HREF="ecpg-informix-compat.html#AEN40157" >Additional functions</A ></DT ><DT >33.10.5. <A HREF="ecpg-informix-compat.html#AEN40706" >Additional constants</A ></DT ></DL ></DD ><DT >33.11. <A HREF="ecpg-errors.html" >Error Handling</A ></DT ><DD ><DL ><DT >33.11.1. <A HREF="ecpg-errors.html#AEN40798" >Setting Callbacks</A ></DT ><DT >33.11.2. <A HREF="ecpg-errors.html#AEN40879" >sqlca</A ></DT ><DT >33.11.3. <A HREF="ecpg-errors.html#AEN40925" ><TT CLASS="LITERAL" >SQLSTATE</TT > vs <TT CLASS="LITERAL" >SQLCODE</TT ></A ></DT ></DL ></DD ><DT >33.12. <A HREF="ecpg-preproc.html" >Preprocessor directives</A ></DT ><DD ><DL ><DT >33.12.1. <A HREF="ecpg-preproc.html#AEN41096" >Including files</A ></DT ><DT >33.12.2. <A HREF="ecpg-preproc.html#AEN41111" >The #define and #undef directives</A ></DT ><DT >33.12.3. <A HREF="ecpg-preproc.html#AEN41132" >ifdef, ifndef, else, elif, and endif directives</A ></DT ></DL ></DD ><DT >33.13. <A HREF="ecpg-process.html" >Processing Embedded SQL Programs</A ></DT ><DT >33.14. <A HREF="ecpg-library.html" >Library Functions</A ></DT ><DT >33.15. <A HREF="ecpg-develop.html" >Internals</A ></DT ></DL ></DIV ><P > This chapter describes the embedded <ACRONYM CLASS="ACRONYM" >SQL</ACRONYM > package for <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN >. It was written by Linus Tolke (<CODE CLASS="EMAIL" ><<A HREF="mailto:linus@epact.se" >linus@epact.se</A >></CODE >) and Michael Meskes (<CODE CLASS="EMAIL" ><<A HREF="mailto:meskes@postgresql.org" >meskes@postgresql.org</A >></CODE >). Originally it was written to work with <ACRONYM CLASS="ACRONYM" >C</ACRONYM >. It also works with <ACRONYM CLASS="ACRONYM" >C++</ACRONYM >, but it does not recognize all <ACRONYM CLASS="ACRONYM" >C++</ACRONYM > constructs yet. </P ><P > This documentation is quite incomplete. But since this interface is standardized, additional information can be found in many resources about SQL. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="lo-examplesect.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="ecpg-concept.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Example Program</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="client-interfaces.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >The Concept</TD ></TR ></TABLE ></DIV ></BODY ></HTML >