SQL terminology for ABL programmers

This section is for the ABL (Advanced Business Language) programmer who is not familiar with SQL. It describes how some SQL terms and concepts differ from ABL.


SQL is the language used to communicate with and extract information from a SQL-compliant database. Using SQL you can read, write, and remove information from a database using English-like statements.

Rows and columns

A SQL table is a group of related data composed of rows and columns. The term row is equivalent to the ABL term record. The term column is equivalent to the ABL term field.

SQL column widths

An OpenEdge database can contain columns of variable length. However, SQL CREATE TABLE statements specify the maximum width of each column in a table. Although ABL programs have the ability to insert data whose length exceeds the maximum width, SQL applications are not able to read a row if a column contains data greater than the maximum width.
Note: OpenEdge contains a command-line tool called DBTOOLS that allows you to fix column widths. See OpenEdge Data Management: Database Administration in the Product Documentation section of the Progress Software Developer's Network Web site.


In OpenEdge databases, a schema is defined as the area in which all system and user information is stored. An OpenEdge database viewed from SQL contains a schema area, referred to as the PUB (Public) schema. It also contains a schema called SYSPROGRESS, which stores system catalog tables. In SQL, a schema is a collection of related database objects, such as tables or views. A SQL database can contain several schemas.
Note: See OpenEdge Data Management: SQL Development in the Product Documentation section of the Progress Software Developer's Network Web site for information about the compatibility of ABL and SQL.