Each of the database access preprocessors works by taking the SQL statements that you have embedded in your COBOL program and converting them to the appropriate function calls to the database.
In your COBOL program, each embedded SQL statement must be preceded by the introductory keywords:
and followed by the keyword:
EXEC SQL SELECT au_lname INTO :lastname FROM authors WHERE au_id = '124-59-3864' END-EXEC
The embedded SQL statement can be broken over as many lines as necessary following the normal COBOL rules for continuation, but between the EXEC SQL and END-EXEC keywords you can only code an embedded SQL statement; you cannot include any ordinary COBOL code.
The case of embedded SQL keywords in your programs is ignored. You can use all upper-case, all lower-case, or a combination of the two. For example, the following are all equivalent:
EXEC SQL CONNECT exec sql connect Exec Sql Connect
The case of cursor names, statement names and connection names must match that used when the variable is declared. For example, if you declare a cursor as C1, you must always refer to it as C1 (and not as c1).
The settings for the particular database determine whether such things as connection names, table and column names, are case-sensitive.
Hyphens are not permitted in SQL identifiers such as table and column names.
SQL identifiers are typically restricted regarding which characters they support. Typically, unquoted identifiers can only contain A-Z, 0-9 and underscore. Some databases might also allow lower-case characters, and/or @ and # symbols. If your SQL identifiers contain any other characters, such as a grave accent, spaces, or DBCS characters, they must be delimited. Refer to your database vendor documentation for more information, including the character to use as the delimiter.
Most vendors provide SQL Reference documentation with their database software that includes full information about embedded SQL statements. Regardless of the database software, you should, for example, be able to perform the following typical operations using the statements shown:
|Add data to a table||INSERT|
|Change data in a table||UPDATE|
|Retrieve a row of data from a table||SELECT|
|Create a named cursor||DECLARE CURSOR|
|Retrieve multiple rows of data using a cursor||OPEN, FETCH, CLOSE|
A full syntax description is given for each of the supported embedded SQL statements, together with an example of its use, in the topics under Embedded SQL Statements.