| Language element |
LUW |
z/OS |
i |
Notes |
| Allow DDL statements in SQL programs |
Y |
Y |
Y |
| Support Transaction Semantics for DDL |
Y |
Y |
Y |
| Support 128 byte object names |
Y |
Y |
Y |
| ALTER FUNCTION statement |
P |
Y |
Y |
| ALTER MASK statement |
Y |
Y |
Y |
| ALTER PERMISSION statement |
Y |
Y |
Y |
| ALTER PROCEDURE statement |
P |
Y |
Y |
| ALTER SEQUENCE statement |
Y |
Y |
Y |
| ALTER TABLE statement (see other elements marked ALTAB) |
Y |
P |
Y |
Db2 for z/OS does not allow ACTIVATE ROW/COLUMN ACCESS CONTROL on a system-period temporal table. |
| ADD COLUMN (ALTAB) |
Y |
Y |
Y |
| ALTER COLUMN (ALTAB) |
P |
P |
Y |
Db2 for z/OS may require a table reorganization before a table can be accessed following a data type alteration. Db2 for LUW may require a table reorganization before a table can be accessed following a data type alteration. |
| ALTER COLUMN (ALTAB) |
P |
P |
Y |
Db2 for LUW does not allow changing the generation attribute of a row change timestamp column. Db2 for z/OS does not allow changing the generation attribute of a row change timestamp column. |
| ALTER COLUMN (ALTAB) |
P |
P |
Y |
Db2 for z/OS does not allow ALTER COLUMN on a system-period temporal table. Db2 for z/OS does not allow alteration of a TRANSACTION START ID column. |
| DROP COLUMN (ALTAB) |
Y |
P |
Y |
| ALTER TRIGGER statement |
Y |
Y |
Y |
| COMMENT statement |
Y |
Y |
Y |
| CREATE ALIAS (table or view) statement |
Y |
Y |
Y |
| CREATE FUNCTION (external scalar) statement |
Y |
Y |
Y |
| CREATE FUNCTION (sourced) statement |
Y |
Y |
Y |
| CREATE FUNCTION (SQL scalar) statement |
Y |
Y |
Y |
| CREATE FUNCTION (external table) statement |
Y |
Y |
Y |
| CREATE FUNCTION (SQL table) statement |
Y |
P |
Y |
Db2 for z/OS only supports the RETURN statement in function body. |
| CREATE INDEX over column list |
Y |
Y |
Y |
| CREATE UNIQUE INDEX |
Y |
Y |
Y |
| CREATE INDEX on expression |
Y |
P |
Y |
Db2 for z/OS does not allow indexes on DECFLOAT expressions. |
| CREATE MASK statement |
Y |
Y |
Y |
| CREATE PERMISSION statement |
Y |
Y |
Y |
| CREATE PROCEDURE (external) statement |
Y |
Y |
Y |
| CREATE OR REPLACE PROCEDURE (external) statement |
Y |
Y |
Y |
| CREATE PROCEDURE (SQL) statement |
Y |
Y |
Y |
| CREATE OR REPLACE PROCEDURE (SQL) statement |
Y |
Y |
Y |
| CREATE PROCEDURE statement with AUTONOMOUS |
Y |
P |
Y |
Db2 for z/OS does not support AUTONOMOUS with CREATE PROCEDURE (External). |
| CREATE TABLE statement using column definition (see other elements marked CRTAB) |
Y |
Y |
Y |
| CREATE TABLE statement LIKE other table/view (see other elements marked CRTAB) |
Y |
Y |
Y |
| CREATE TABLE statement LIKE other table/view including identity (see other elements marked CRTAB) |
Y |
Y |
Y |
| CREATE TABLE statement AS query (see other elements marked CRTAB) |
Y |
Y |
Y |
| CHECK constraint clause (ALTAB, CRTAB) |
Y |
Y |
Y |
| DATA CAPTURE clause (ALTAB, CRTAB) |
Y |
Y |
Y |
Db2 for i tables always capture changes - the clause is ignored. |
| DEFAULT clause with no specified value (ALTAB, CRTAB, DGTTAB) |
Y |
Y |
Y |
| DEFAULT clause with specified value (ALTAB, CRTAB, DGTTAB) |
Y |
Y |
Y |
| IMPLICITLY HIDDEN clause (ALTAB, CRTAB) |
Y |
Y |
Y |
| VOLATILE clause (ALTAB, CRTAB) |
Y |
Y |
Y |
| Generated column: IDENTITY clause (CRTAB, DGTTAB) |
Y |
Y |
Y |
| Generated column: IDENTITY clause (ALTAB change attributes of existing IDENTITY column) |
Y |
Y |
Y |
| Generated column: ROW CHANGE TIMESTAMP clause (ALTAB, CRTAB) |
Y |
Y |
Y |
| Generated column: ROW BEGIN or ROW END clause (ALTAB, CCRTAB) |
Y |
Y |
Y |
| Generated column: TRANSACTION START ID clause (ALTAB, CCRTAB) |
Y |
Y |
Y |
| PRIMARY KEY constraint for NOT NULL columns (ALTAB, CRTAB) |
Y |
Y |
Y |
| UNIQUE constraint for NOT NULL columns (ALTAB, CRTAB) |
Y |
Y |
Y |
| Automatic index generation for unique constraints (ALTAB, CRTAB) |
Y |
Y |
Y |
| Referential constraint clause (ALTAB, CRTAB) |
Y |
Y |
Y |
| REFERENCES clause specifying ON DELETE (ALTAB, CRTAB) |
P |
P |
Y |
Db2 for LUW does not support ON DELETE SET DEFAULT. Db2 for z/OS does not support ON DELETE SET DEFAULT. |
| Self referencing tables can be specified without requiring use of ALTER TABLE |
Y |
P |
Y |
| User maintained MQT (CRTAB, ALTAB) |
Y |
Y |
Y |
| PERIOD SYSTEM_TIME definition (CRTAB, ALTAB) |
Y |
Y |
Y |
| WITH RESTRICT ON DROP (CRTAB, ALTAB) |
Y |
Y |
Y |
| CREATE SEQUENCE statement |
Y |
Y |
Y |
| CREATE TRIGGER statement - BEFORE or AFTER trigger on a table |
Y |
Y |
Y |
| CREATE TRIGGER statement - INSTEAD OF trigger on a view |
Y |
P |
Y |
Db2 for z/OS has several restrictions on the underlying tables of the view. |
| CREATE OR REPLACE TRIGGER statement |
Y |
Y |
Y |
| CREATE TYPE (array) statement for ordinary array |
Y |
Y |
Y |
| CREATE TYPE (distinct) statement |
Y |
Y |
Y |
| CREATE VARIABLE statement |
P |
P |
P |
Db2 for z/OS does not support defaults based on expressions or global variables. |
| CREATE VARIABLE statement |
P |
P |
P |
Db2 for LUW does not support defaults based on array type. Db2 for i does not support defaults based on array type. |
| CREATE VIEW statement using fullselect without CHECK OPTION clause |
Y |
Y |
Y |
| CREATE VIEW WITH CASCADED CHECK OPTION |
Y |
Y |
Y |
| CREATE VIEW WITH LOCAL CHECK OPTION |
Y |
Y |
Y |
| DECLARE GLOBAL TEMPORARY TABLE statement (see other elements marked DGTTAB) |
Y |
Y |
Y |
| DROP statement with specified RESTRICT or CASCADE behavior |
P |
P |
Y |
| DROP ALIAS statement |
Y |
Y |
Y |
| DROP FUNCTION statement |
Y |
Y |
Y |
| DROP INDEX statement |
Y |
Y |
Y |
| DROP MASK statement |
Y |
Y |
Y |
| DROP PACKAGE statement |
Y |
Y |
Y |
| DROP PERMISSION statement |
Y |
Y |
Y |
| DROP PROCEDURE statement |
Y |
P |
Y |
Db2 for z/OS only supports procedure name to identify the procedure. |
| DROP SEQUENCE statement |
Y |
Y |
Y |
| DROP TABLE statement |
Y |
Y |
Y |
| DROP TRIGGER statement |
Y |
Y |
Y |
| DROP TYPE statement |
Y |
Y |
Y |
| DROP VARIABLE statement |
Y |
Y |
Y |
| DROP VIEW statement |
Y |
Y |
Y |
| RENAME TABLE statement |
P |
P |
Y |
| RENAME INDEX statement |
Y |
Y |
Y |
| Obfuscation of SQL objects written in SQL |
Y |
P |
Y |