All databases contain schemas that include SQL objects like tables, columns, views, and temporary tables. If all of the SQL objects in a database are available at compile time, using the SQL(CHECK) directive ensures that all SQL syntax is fully checked by the database during compilation.
However, some schema objects might not be available in the database at compile time. In this case, OpenESQL offers two solutions:
- SQL(IGNORESCHEMAERRORS) directive
- Use this directive with SQL(CHECK) when tables or other SQL objects do not exist in the database. The addition of SQL(IGNORESCHEMAERRORS) enables OpenESQL to ignore invalid object reference errors returned by the database, and continue compilation.
- [ALSO CHECK] and [ONLY CHECK] statement prefixes
- Use these statement prefixes on individual SQL statements in your code if you want OpenESQL to actually create SQL objects in the database at compile time. With the objects in the database, all invalid object reference errors are returned during compilation, and optionally at run time as well.
For more information on [ALSO CHECK] and [ONLY CHECK], see
SQL Statement Prefixes for SQL(CHECK).