Identity column is a way to generate system generated unique identifier for a table in Teradata.
➠ Characteristics for Identity Columns
SELECT StartValue,
       MinValue,
       MaxValue,
       Increment,
       Cyc,
       AvailValue,
       CAST(dbase.databasename AS VARCHAR(35)) databasename,
       CAST(dbc.tvm.tvmname AS VARCHAR(35)) tablename
FROM dbc.idcol
  INNER JOIN dbc.tvm
          ON (dbc.idcol.databaseid = dbc.tvm.databaseid
         AND dbc.idcol.tableid = dbc.tvm.tvmid)
  INNER JOIN dbc.dbase ON tvm.DatabaseId = dbase.DatabaseId
WHERE dbc.tvm.tvmname = '[table_name]'
AND   dbase.databasename = '[database_name]';
➠ Valid datatypes for identity columns
➠ Syntax for Identity columns
BIGINT GENERATED [ ALWAYS | BY DEFAULT] AS IDENTITY
    (
     START WITH [start_vale] 
     INCREMENT BY [increment_by_value]
     MAXVALUE [Maximum value ]
     [NO CYCLE|CYCLE]
     )
*** Failure 5785 Invalid value for Identity Column parameter MAXVALUE.
*** Failure 7545 Numbering for Identity Column tablename.identyColumnName is over its limit.
➠ Examples of tables with Identity Columns
CREATE MULTISET TABLE tutorial_db.employee_id_column1
     (
      emp_no BIGINT GENERATED ALWAYS AS IDENTITY,
      emp_name VARCHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC,
      job_title VARCHAR(30) CHARACTER SET LATIN NOT CASESPECIFIC
      )
PRIMARY INDEX ( emp_name );
 START WITH 1 
 INCREMENT BY 1 
 MINVALUE -999999999999999999 
 MAXVALUE 999999999999999999 
 NO CYCLE
CREATE MULTISET TABLE tutorial_db.employee_id_column
     (
      emp_no INTEGER GENERATED ALWAYS AS IDENTITY
      (
         START WITH 1 
         INCREMENT BY 1 
         MAXVALUE 2000000000 
         NO CYCLE
      ),
      emp_name VARCHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC,
      job_title VARCHAR(30) CHARACTER SET LATIN NOT CASESPECIFIC
      )
PRIMARY INDEX ( emp_name );
CREATE MULTISET TABLE tutorial_db.employee_id_column
     (
      emp_no INTEGER GENERATED ALWAYS AS IDENTITY
      (
         START WITH 1 
         INCREMENT BY 1 
         MAXVALUE 2000000000 
         CYCLE
      ),
      emp_name VARCHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC,
      job_title VARCHAR(30) CHARACTER SET LATIN NOT CASESPECIFIC
      )
PRIMARY INDEX ( emp_name );
➠ Limitations of tables with Identity Column
*** Failure 3706 Syntax error: A table may not have more than one identity column.
*** Failure 3706 Syntax error: Identity Column in a NoPI table is unsupported.
*** Failure 5784 Illegal usage of Identity Column emp_no.
*** Failure 5466 Error in Secondary Index DDL, Order by column is non-numeric, or is more than 4 bytes.