Powered by Zoomin Software. For more details please contactZoomin

DataDirect OpenAccess SDK Help

Alter Table processing

  • Last Updated: May 12, 2026
  • 2 minute read
    • OpenAccess SDK
    • Version 8.1
    • Documentation

To support Alter Table processing, IP GETSUPPORT must return TRUE for IP_SUPPORT_ALTER_TABLE.

The supported SQL syntax for altering a table is:

ALTER TABLE table_name alter-table-action
alter-table-action = ADD [COLUMN] column-definition
| ADD ( column-definition [,column-definition]...)
| DROP [COLUMN] column-identifier
| ALTER [COLUMN] column-identifier SET DEFAULT default-value
| ALTER [COLUMN] column-identifier DROP DEFAULT
| ADD CONSTRAINT constraint-name UNQIUE (column-identifier)
| DROP CONSTRAINT
column-definition = column-identifier data-type [DEFAULT default-value] [column-constraint [column-constraint]...]
column-constraint = NOT NULL | UNIQUE [KEY] 

When a SQL query of this form is issued, OpenAccess SDK SQL engine maps this information to a list of schema objects of types damobj_table, damobj_column, and damobj_stat.

The following table shows how the Alter Table query is mapped to the schema objects.

ALTER TABLE syntax to schema objects mapping

Schema object properties ALTER TABLE syntax Remarks
damobj_table
table_qualifier
table_owner
table_name
ALTER TABLE [qualifier].[owner].table_name The table information is mapped to the schema object of type: DAMOBJ_TYPE_TABLE.
damobj_column
column_name = column-identifier
data_type=XO_TYPE_XXX
char_max_length =N (Set for CHAR & VARCHAR fields)
numeric_precision = M (Set for NUMERIC fields)
numeric_scale = N (Set for NUMERIC fields)
nullable = XO_NO_NULLS (If NOT NULL clause is specified. Otherwise set to XO_NULLABLE)
userdata (Set if the USERDATA clause was defined for the column)
userdata = “DEFAULT default-value”
type = SQL_ADD_COLUMN
ADD column-identifierdata-type [NOT NULL] USERDATA 'literal string'DEFAULT default-value The column information (name, data-type, length, precision, scale, nullable, userdata) is mapped to schema object of type DAMOBJ_TYPE_COLUMN.
damobj_column
column_name = column-identifier
type = SQL_DROP_COLUMN
DROP column-identifier The column information (name) is mapped to schema object of type: DAMOBJ_TYPE_COLUMN.
damobj_column
column_name = column-identifier
userdata = “SET DEFAULT default-value” or “DROP DEFAULT”
type = SQL_ALTER_COLUMN
ALTER [COLUMN] column-identifier {SET DEFAULT default-value | DROP DEFAULT} The column information (name) is mapped to schema object of type DAMOBJ_TYPE_COLUMN.
damobj_stat
column_name = column name for which the indexing information is specified
index_name = constraint-name
non_unique = FALSE
type = SQL_ADD_CONSTRAINT
ADD CONSTRAINT constraint_name UNIQUE (column-identifier) The index information is mapped to one schema object of type DAMOBJ_TYPE_STAT.
damobj_stat
index_name = constraint-name
type = SQL_DROP_CONSTRAINT
DROP CONSTRAINT constraint_name The index information is mapped to one schema object of type DAMOBJ_TYPE_STAT.
TitleResults for “How to create a CRG?”Also Available inAlert