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 |