Ein ESQL-Programm ist ein Programm in einer Programmiersprache, in das zusätzlich SQL-Anweisungen eingebettet sind. Diese Programmiersprache eines ESQL-Programms wird auch Wirtssprache (host language) genannt. SESAM/SQL kennt ESQL-Programme für die Wirtssprache COBOL (siehe Handbuch „ ESQL-COBOL für SESAM/SQL-Server“).
Um die Anweisungen der Wirtssprache von den SQL-Anweisungen unterscheiden zu können, werden Anfang und Ende einer SQL-Anweisung im ESQL-Programm jeweils markiert. Ein ESQL-Precompiler trennt Anweisungen der Wirtssprache und SQL-Anweisungen und erzeugt ein SQL-Objektmodul, in dem die SQL-Anweisungen zusammengefasst sind. Das verbleibende COBOL-Programm, das keine SQL-Anweisungen mehr enthält, wird mit dem COBOL-Compiler übersetzt. Das entstehende Modul wird mit dem SQL-Modul und dem Laufzeitsystem des COBOL-Compilers zu einem Lademodul gebunden.
In ESQL-COBOL-Programmen werden eingebettete SQL-Anweisungen mit dem Schlüsselwort „EXEC SQL“ eingeleitet und mit „END-EXEC“ beendet. Ausführbare SQL-Anweisungen können überall da im Programm auftreten, wo eine ausführbare Anweisung der Wirtssprache auftreten kann. Ausführbar sind alle SQL-Anweisungen bis auf die Anweisungen DECLARE CURSOR und WHENEVER. National-Datentypen können nur mit entsprechender BS2000-Systemumgebung inklusive entsprechendem ESQL-Precompiler und COBOL-Compiler verwendet werden, siehe "Unicode-Konzept in SESAM/SQL" .