How to add/alter a new column in existing tea in azure synapses SQL database?

17121A15A2-SAYA NAVYA 5 Reputation points
2023-05-24T09:52:31.6433333+00:00

I'm trying to add a new column in existing table in synapses database, but I did not find 'alter command' in synapse to add a new column. I see, in synapse SQL database, we have commands like create, drop, create and drop commands. Please help me in alter a table in synapse SQL DB.

Azure Synapse Analytics
Azure Synapse Analytics
An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
3,107 questions
Azure Databricks
Azure Databricks
An Apache Spark-based analytics platform optimized for Azure.
1,391 questions
Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
7,170 questions
{count} vote

1 answer

Sort by: Most helpful
  1. Samy Abdul 3,101 Reputation points
    2023-05-24T10:07:05.78+00:00

    Hi @17121A15A2-SAYA NAVYA, Please try with alter command;

    -- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
    
    ALTER TABLE { database_name.schema_name.source_table_name | schema_name.source_table_name | source_table_name }
    {
        ALTER COLUMN column_name
            {
                type_name [ ( precision [ , scale ] ) ]
                [ COLLATE Windows_collation_name ]
                [ NULL | NOT NULL ]
            }
        | ADD { <column_definition> | <column_constraint> FOR column_name} [ ,...n ]
        | DROP { COLUMN column_name | [CONSTRAINT] constraint_name } [ ,...n ]
        | REBUILD {
                [ PARTITION = ALL [ WITH ( <rebuild_option> ) ] ]
              | [ PARTITION = partition_number [ WITH ( <single_partition_rebuild_option> ] ]
          }
        | { SPLIT | MERGE } RANGE (boundary_value)
        | SWITCH [ PARTITION source_partition_number
            TO target_table_name [ PARTITION target_partition_number ] [ WITH ( TRUNCATE_TARGET = ON | OFF )
    }
    [;]
    
    <column_definition>::=
    {
        column_name
        type_name [ ( precision [ , scale ] ) ]
        [ <column_constraint> ]
        [ COLLATE Windows_collation_name ]
        [ NULL | NOT NULL ]
    }
    
    <column_constraint>::=
        [ CONSTRAINT constraint_name ] 
        {
            DEFAULT constant_expression
            | PRIMARY KEY NONCLUSTERED (column_name [ ,... n ]) NOT ENFORCED -- Applies to Azure Synapse Analytics only
            | UNIQUE (column_name [ ,... n ]) NOT ENFORCED -- Applies to Azure Synapse Analytics only
        }
    <rebuild_option > ::=
    {
        DATA_COMPRESSION = { COLUMNSTORE | COLUMNSTORE_ARCHIVE }
            [ ON PARTITIONS ( {<partition_number> [ TO <partition_number>] } [ , ...n ] ) ]
        | XML_COMPRESSION = { ON | OFF }
            [ ON PARTITIONS ( {<partition_number> [ TO <partition_number>] } [ , ...n ] ) ]
    }
    
    <single_partition_rebuild_option > ::=
    {
        DATA_COMPRESSION = { COLUMNSTORE | COLUMNSTORE_ARCHIVE }
    }