SQL

SQL software engineering standards are published by ISO. They include the ISO/IEC 9075 series, which covers framework, foundation, call-level interface, persistent stored modules, management of stored data, object language bindings, information and definition schema, routines and types using Java, and XML-related specifications.

ISO/IEC 9075-1:2016

Information technology - Database languages - SQL - Part 1: Framework (SQL/Framework)

ISO/IEC 9075-1:2016 describes the conceptual framework used in other parts of ISO/IEC 9075 to specify the grammar of SQL and the result of processing statements in that language by an SQL-implementation.

ISO/IEC 9075-1:2016 also defines terms and notation used in the other parts of ISO/IEC 9075.

ISO/IEC 9075-2:2016

Information technology - Database languages - SQL - Part 2: Foundation (SQL/Foundation)

ISO/IEC 9075-2:2016 defines the data structures and basic operations on SQL-data. It provides functional capabilities for creating, accessing, maintaining, controlling, and protecting SQL-data.

ISO/IEC 9075-2:2016 specifies the syntax and semantics of a database language:

- For specifying and modifying the structure and the integrity constraints of SQL-data.

- For declaring and invoking operations on SQL-data and cursors.

- For declaring database language procedures.

- For embedding SQL-statements in a compilation unit that is otherwise written in a particular programming language (host language).

- For deriving an equivalent compilation unit in the host language. In that equivalent compilation unit, each which invoke an SQL externally-invoked procedure that, when executed, has an effect equivalent to exe-cuting the SQL-statement.

- For direct invocation of SQL-statements.

- To support dynamic preparation and execution of SQL-statements.

ISO/IEC 9075-2:2016 provides a vehicle for portability of data definitions and compilation units between SQL-implementations.

ISO/IEC 9075-2:2016 provides a vehicle for interconnection of SQL-implementations.

Implementations of this ISO/IEC 9075-2:2016 can exist in environments that also support application program-ming languages, end-user query languages, report generator systems, data dictionary systems, program library systems, and distributed communication systems, as well as various tools for database design, data administration, and performance optimization.

ISO/IEC 9075-3:2016

Information technology - Database languages - SQL - Part 3: Call-Level Interface (SQL/CLI)

ISO/IEC 9075-3:2016 defines the structures and procedures that can be used to execute statements of the database language SQL from within an application written in a programming language in such a way that procedures used are independent of the SQL statements to be executed.

ISO/IEC 9075-4:2016

Information technology - Database languages - SQL - Part 4: Persistent stored modules (SQL/PSM)

ISO/IEC 9075-4:2016 specifies the syntax and semantics of a database language for declaring and maintaining persistent database language routines in SQL-server modules.

The database language for <externally-invoked procedure>s and <SQL-invoked routine>s includes:

- The specification of statements to direct the flow of control.

- The assignment of the result of expressions to variables and parameters.

- The specification of condition handlers that allow SQL-invoked routines to deal with various conditions that arise during their execution.

- The specification of statements to signal and resignal conditions.

- The declaration of standing SQL-server cursors.

- The declaration of local variables.

It also includes the definition of the Information Schema tables that contain schema information pertaining to SQL-server modules and SQL-invoked routines.

ISO/IEC 9075-9:2016

Information technology - Database languages - SQL - Part 9: Management of External Data (SQL/MED)

ISO/IEC 9075-9:2016 defines extensions to Database Language SQL to support management of external data through the use of foreign-data wrappers and datalink types.

ISO/IEC 9075-10:2016

Information technology - Database languages - SQL - Part 10: Object language bindings (SQL/OLB)

ISO/IEC 9075-2 specifies embedded SQL for the programming languages: Ada, C, COBOL, Fortran, MUMPS, Pascal, and PL/I. ISO/IEC 9075-10:2016 defines similar features of Database language SQL that support embedding of SQL-statements into programs written in the Java? programming language (Java is a registered trademark of Sun Microsystems, Inc.). The embedding of SQL into Java is commonly known as "SQLJ". This part of ISO/IEC 9075 specifies the syntax and semantics of SQLJ, as well as mechanisms to ensure binary portability of resulting SQLJ applications. In addition, it specifies a number of Java packages and their contained classes (including methods).

Throughout ISO/IEC 9075-10:2016, the terms "SQLJ" and "SQL/OLB" are used synonymously.

NOTE Additional explanatory material (non-normative) about certain facilities defined in ISO/IEC 9075-2 can be found in ISO/IEC TR 19075-3.

ISO/IEC 9075-11:2016

Information technology - Database languages - SQL - Part 11: Information and definition schemas (SQL/Schemata)

ISO/IEC 9075-11:2016 specifies an Information Schema and a Definition Schema that describes:

- The structure and integrity constraints of SQL-data.

- The security and authorization specifications relating to SQL-data.

- The features and subfeatures of ISO/IEC 9075, and the support that each of these has in an SQL-implementation.

- The SQL-implementation information and sizing items of ISO/IEC 9075 and the values supported by an SQL-implementation

ISO/IEC 9075-13:2016

Information technology - Database languages - SQL - Part 13: SQL Routines and types using the Java TM programming language (SQL/JRT)

ISO/IEC 9075-13:2016 specifies the ability to invoke static methods written in the Java? programming language as SQL-invoked routines and to use classes defined in the Java programming language as SQL structured user-defined types. (Java is a registered trademark of Oracle Corporation and/or its affiliates.)

ISO/IEC 9075-14:2016

Information technology - Database languages - SQL - Part 14: XML-Related Specifications (SQL/XML)

ISO/IEC 9075-14:2016 defines ways in which Database Language SQL can be used in conjunction with XML.