<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Embedded_SQL</id>
	<title>Embedded SQL - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Embedded_SQL"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Embedded_SQL&amp;action=history"/>
	<updated>2026-05-13T03:16:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Embedded_SQL&amp;diff=3531607&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot: Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (Whoop whoop pull up - 21816</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Embedded_SQL&amp;diff=3531607&amp;oldid=prev"/>
		<updated>2024-11-19T15:28:05Z</updated>

		<summary type="html">&lt;p&gt;Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (&lt;a href=&quot;/wiki143/index.php?title=User:Whoop_whoop_pull_up&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Whoop whoop pull up (page does not exist)&quot;&gt;Whoop whoop pull up&lt;/a&gt; - 21816&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{short description|Computer programming method}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Embedded SQL&amp;#039;&amp;#039;&amp;#039; is a method of combining the [[computing]] power of a [[programming language]] and the [[database]] [[Data Manipulation Language|manipulation]] capabilities of [[SQL]]. Embedded SQL [[statement (programming)|statements]] are SQL statements written inline with the program [[source code]], of the host language. The embedded SQL statements are [[parsing|parsed]] by an embedded SQL [[preprocessor]] and replaced by host-language [[call site|calls]] to a code [[library (computing)|library]]. The output from the preprocessor is then compiled by the host [[compiler]]. This allows programmers to embed SQL statements in programs written in any number of languages such as [[:Category:C programming language family|C/C++]], [[COBOL]] and [[Fortran]]. This differs from SQL-derived programming languages that don&amp;#039;t go through discrete preprocessors, such as [[PL/SQL]] and [[Transact-SQL|T-SQL]].&lt;br /&gt;
&lt;br /&gt;
The SQL standards committee defined the embedded SQL standard in two steps: a formalism called [[Module SQL|Module Language]] was defined, then the embedded SQL standard was derived from Module Language.&amp;lt;ref name=&amp;quot;modulelang&amp;quot;&amp;gt;&lt;br /&gt;
{{cite web&lt;br /&gt;
|url=http://download.oracle.com/docs/cd/B10501_01/appdev.920/a58231/ch1.htm#2889&lt;br /&gt;
|title=The Module Language Concept&lt;br /&gt;
|work=SQL*Module for Ada Programmer&amp;#039;s Guide, Release 8.0, Chapter 1. Introduction to SQL*Module&lt;br /&gt;
|publisher=[[Oracle Corporation]]&lt;br /&gt;
|accessdate=2008-07-14}}&lt;br /&gt;
&amp;lt;/ref&amp;gt; The SQL standard defines embedding of SQL as &amp;#039;&amp;#039;embedded SQL&amp;#039;&amp;#039; and the language in which SQL queries are embedded is referred to as the &amp;#039;&amp;#039;host language&amp;#039;&amp;#039;. A popular host language is C. Host language C and embedded SQL, for example, is called [[Pro*C]] in [[Oracle Database|Oracle]] and [[Sybase]] database management systems, ESQL/C in [[Informix]], and [[ECPG]] in the [[PostgreSQL]] database management system.&lt;br /&gt;
SQL may also be embedded in languages like PHP etc.&lt;br /&gt;
&lt;br /&gt;
The SQL standard [[SQL:2023]] is available through purchase and contains chapter &amp;#039;&amp;#039;&amp;#039;21 Embedded SQL&amp;#039;&amp;#039;&amp;#039; and its syntax rules.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url=https://www.iso.org/standard/76584.html&lt;br /&gt;
|title=SQL Standard 2023 Chapter 21 Embedded SQL&lt;br /&gt;
|work=ISO/IEC 9075-2:2023 Information technology — Database languages — SQL — Part 2: Foundation (SQL/Foundation)&lt;br /&gt;
|publisher=[[ISO]]&lt;br /&gt;
|accessdate=2023-08-17&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Database systems that support embedded SQL ==&lt;br /&gt;
&lt;br /&gt;
=== Altibase ===&lt;br /&gt;
; C/C++&lt;br /&gt;
: APRE is an embedded SQL precompiler provided by [[Altibase]] Corp. for its DBMS server.&lt;br /&gt;
&lt;br /&gt;
=== IBM Db2 ===&lt;br /&gt;
[[IBM Db2]] for Linux, UNIX and Windows supports embedded SQL for C, C++, Java, COBOL, FORTRAN and REXX although support for FORTRAN and REXX has been deprecated.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url=http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.apdv.embed.doc/doc/c0007014.htm&lt;br /&gt;
|title=DB2 Database for Linux, UNIX and Windows&lt;br /&gt;
|work=Developing Embedded SQL Applications&lt;br /&gt;
|publisher=[[IBM]]&lt;br /&gt;
|accessdate=2009-04-10&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IBM Informix ===&lt;br /&gt;
[[IBM Informix]] version 14.10 for Linux, Unix, and Windows supports embedded SQL for C. &amp;lt;ref&amp;gt;{{cite web|url=https://www.ibm.com/support/knowledgecenter/SSGU8G_14.1.0/com.ibm.esqlc.doc/esqlc.htm|title=Informix Dynamic Server&lt;br /&gt;
|work=IBM® Informix® ESQL/C&lt;br /&gt;
|publisher=[[IBM]]&lt;br /&gt;
|accessdate=2020-03-31&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
=== Microsoft SQL Server ===&lt;br /&gt;
; C/C++&lt;br /&gt;
: Embedded SQL for C has been deprecated as of [[Microsoft SQL Server]] 2008 although earlier versions of the product support it.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url=http://msdn.microsoft.com/en-us/library/ms143729.aspx&lt;br /&gt;
|title=Deprecated Database Engine Features in SQL Server 2008&lt;br /&gt;
|work=SQL Server 2008 Books Online (March 2009)&lt;br /&gt;
|publisher=[[Microsoft]]&lt;br /&gt;
|accessdate=2009-04-10&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mimer SQL===&lt;br /&gt;
[[Mimer SQL]] for Linux, [[macOS]], [[OpenVMS]] and Windows support embedded SQL.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url=https://docs.mimer.com/MimerSqlManual/latest/Manuals/Embedded_SQL/Embedded_SQL.htm&lt;br /&gt;
|title=Embedded SQL|publisher=[[Mimer SQL]]&lt;br /&gt;
|work=Mimer SQL Programmer&amp;#039;s Manual latest version, Embedded SQL}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
; C/C++&lt;br /&gt;
: Embedded SQL for C/C++ is supported on Linux, macOS, OpenVMS and Windows.&lt;br /&gt;
; COBOL&lt;br /&gt;
: Embedded SQL for COBOL is supported on OpenVMS.&lt;br /&gt;
; Fortran&lt;br /&gt;
: Embedded SQL for Fortran is supported on OpenVMS.&lt;br /&gt;
&lt;br /&gt;
=== Oracle Database ===&lt;br /&gt;
; [[Ada (programming language)|Ada]]&lt;br /&gt;
: Pro*Ada was officially desupported by [[Oracle Corporation|Oracle]] in version 7.3. Starting with Oracle8, Pro*Ada was replaced by SQL*Module but appears to have not been updated since.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url=http://download.oracle.com/docs/cd/B10501_01/server.920/a96530/migcompa.htm#1010868&lt;br /&gt;
|title=Ada Support in Version 8&lt;br /&gt;
|work=Oracle9i Database Migration, Release 2 (9.2), Chapter 5. Compatibility and Interoperability&lt;br /&gt;
|publisher=Oracle Corporation&lt;br /&gt;
|accessdate=2008-07-14&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; SQL*Module is a module language that offers a different programming method from embedded SQL. SQL*Module supports the Ada83 language standard for Ada.&lt;br /&gt;
&lt;br /&gt;
; C/C++&lt;br /&gt;
: [[Pro*C]] became Pro*C/C++ with Oracle8. Pro*C/C++ is currently supported as of Oracle Database 11&amp;#039;&amp;#039;g&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
; COBOL&lt;br /&gt;
: Pro*COBOL is currently supported as of Oracle Database 11&amp;#039;&amp;#039;g&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
; Fortran&lt;br /&gt;
: Pro*FORTRAN is no longer updated as of Oracle8 but Oracle will continue to issue patch releases as bugs are reported and corrected.&amp;lt;ref name=&amp;quot;langalts&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Pascal (programming language)|Pascal]]&lt;br /&gt;
: Pro*Pascal was not released with Oracle8.&amp;lt;ref name=&amp;quot;langalts&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[PL/I]]&lt;br /&gt;
: Pro*PL/I was not released with Oracle8.  The &amp;#039;&amp;#039;Pro*PL/I Supplement to the Oracle Precompilers Guide&amp;#039;&amp;#039;, however, continued to make appearances in the Oracle Documentation Library until release 11&amp;#039;&amp;#039;g&amp;#039;&amp;#039;. As of release 12c, the Pro*PL/I has been removed from the Oracle Documentation Library.&amp;lt;ref name=&amp;quot;langalts&amp;quot;&amp;gt;{{cite web&lt;br /&gt;
|url=http://download.oracle.com/docs/cd/A64702_01/doc/server.805/a58232/ch01.htm#505&lt;br /&gt;
|title=Language Alternatives&lt;br /&gt;
|work=Pro*COBOL Precompiler Programmer&amp;#039;s Guide, Release 8.0, Chapter 1. Introduction&lt;br /&gt;
|publisher=Oracle Corporation&lt;br /&gt;
|accessdate=2008-07-14&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PostgreSQL ===&lt;br /&gt;
; C/C++&lt;br /&gt;
: [[ECPG]] is part of [[PostgreSQL]] since version 6.3.&lt;br /&gt;
; COBOL&lt;br /&gt;
: Cobol-IT is now distributing a COBOL precompiler for PostgreSQL{{cn|date=March 2016}}&lt;br /&gt;
: Micro Focus provides support via their OpenESQL preprocessor{{cn|date=March 2016}}&lt;br /&gt;
&lt;br /&gt;
=== SAP Sybase ===&lt;br /&gt;
SAP Sybase ASE 15.7 supports embedded SQL for C and COBOL as part of the Software Developer Kit [[Sybase]].&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url=http://www.sybase.com/products/allproductsa-z/softwaredeveloperkit/embeddedsql&lt;br /&gt;
|title=EmbeddedSQL&lt;br /&gt;
|work=SAP Sybase Products&lt;br /&gt;
|publisher=SAP Sybase&lt;br /&gt;
|accessdate=2012-09-05&lt;br /&gt;
|archive-date=2009-10-23&lt;br /&gt;
|archive-url=https://web.archive.org/web/20091023214433/http://www.sybase.com/products/allproductsa-z/softwaredeveloperkit/embeddedsql&lt;br /&gt;
|url-status=dead&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAP Sybase SQL Anywhere supports embedded SQL for C and C++ as part of the SQL Anywhere database management system [[SQL Anywhere]].&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url=http://www54.sap.com/pc/tech/database/software/sybase-sql-anywhere/index.html&lt;br /&gt;
|title=SAP Sybase SQL Anywhere&lt;br /&gt;
|work=SAP Sybase Products&lt;br /&gt;
|publisher=SAP Sybase&lt;br /&gt;
|accessdate=2013-05-02&lt;br /&gt;
|archive-url=https://web.archive.org/web/20130501030013/http://www54.sap.com/pc/tech/database/software/sybase-sql-anywhere/index.html&lt;br /&gt;
|archive-date=2013-05-01&lt;br /&gt;
|url-status=dead&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAP Sybase IQ supports embedded SQL for C and C++ as part of the Sybase IQ database management system [[Sybase IQ]].&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url=http://www54.sap.com/pc/tech/database/software/sybase-iq-big-data-management/index.html&lt;br /&gt;
|title=SAP Sybase IQ&lt;br /&gt;
|work=SAP Sybase Products&lt;br /&gt;
|publisher=SAP Sybase&lt;br /&gt;
|accessdate=2013-05-02&lt;br /&gt;
|archive-url=https://web.archive.org/web/20130504025213/http://www54.sap.com/pc/tech/database/software/sybase-iq-big-data-management/index.html&lt;br /&gt;
|archive-date=2013-05-04&lt;br /&gt;
|url-status=dead&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Embedded SQL through domain-specific languages ==&lt;br /&gt;
* [[Language Integrated Query|LINQ-to-SQL]] embeds a SQL-like language into [[List of CLI languages|.NET languages]].&lt;br /&gt;
* [[Java Persistence API|JPA]] embeds a SQL-like language through [http://docs.oracle.com/javaee/6/tutorial/doc/gjrij.html Criteria API] into [[Java (programming language)|Java]].&lt;br /&gt;
* [[Java Object Oriented Querying|jOOQ]] embeds a SQL-like language into [[Java (programming language)|Java]].&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Language binding]]&lt;br /&gt;
* [[Module SQL]]&lt;br /&gt;
* [[PL/SQL]]&lt;br /&gt;
* [[Pro*C/C++]]&lt;br /&gt;
* [[SQL/OLB]]&lt;br /&gt;
* [[SQL PL]]&lt;br /&gt;
* [[Transact-SQL]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://infolab.stanford.edu/%7Eullman/fcdb/oracle/or-proc.html Introduction to Pro*C Embedded SQL]&lt;br /&gt;
* [http://www.oreillynet.com/pub/a/databases/2006/12/07/embedded-sql-with-pro-c.html Embedded SQL with Pro*C]&lt;br /&gt;
* [https://docs.oracle.com/cd/B10501_01/appdev.920/a58231/ch2.htm SQL*Module for Ada Programmer&amp;#039;s Guide, Release 8.0]&lt;br /&gt;
* [https://www.postgresql.org/docs/current/ecpg.html ECPG, PostgreSQL Documentation]&lt;br /&gt;
* [https://www.ibm.com/support/knowledgecenter/SSGU8G_14.1.0/com.ibm.esqlc.doc/esqlc.html ESQL/C, Informix Documentation]&amp;#039;&lt;br /&gt;
* [https://developer.mimer.com/article/embedded-sql-in-c/ Embedded SQL in C, Mimer SQL Developer]&lt;br /&gt;
&lt;br /&gt;
[[Category:SQL]]&lt;br /&gt;
[[Category:Declarative programming languages]]&lt;br /&gt;
[[Category:Query languages]]&lt;br /&gt;
[[Category:Data modeling languages]]&lt;br /&gt;
[[Category:Database APIs]]&lt;br /&gt;
[[Category:SQL data access]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>