Apply various modifications to a table or view. The available modifications include the following:
Manage a table's columns--a column can be added, removed, or have its type and properties modified, including whether it is dictionary encoded or not.
External tables cannot be modified except for their refresh method.
Create or delete an index on a particular column. This can speed up certain operations when using expressions containing equality or relational operators on indexed columns. This only applies to tables.
Create or delete a foreign key on a particular column.
Manage a range-partitioned or a manual list-partitioned table's partitions.
Set (or reset) the tier strategy of a table or view.
Refresh and manage the refresh mode of a materialized view or an external table.
Set the time-to-live (TTL). This can be applied to tables or views.
Set the global access mode (i.e. locking) for a table. This setting trumps any role-based access controls that may be in place; e.g., a user with write access to a table marked read-only will not be able to insert records into it. The mode can be set to read-only, write-only, read/write, and no access.
Input Parameter Description
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
table_name | string | Table on which the operation will be performed, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table or view. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
action | string | Modification operation to be applied
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
value | string | The value of the modification, depending on input parameter action. For example, if input parameter action is add_column, this would be the column name; while the column's definition would be covered by the column_type, column_properties, column_default_value, and add_column_expression in input parameter options. If input parameter action is ttl, it would be the number of minutes for the new TTL. If input parameter action is refresh, this field would be blank. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options | map of string to strings | Optional parameters. The default value is an empty map ( {} ).
|
Output Parameter Description
Name | Type | Description |
---|---|---|
table_name | string | Table on which the operation was performed. |
action | string | Modification operation that was performed. |
value | string | The value of the modification that was performed. |
type_id | string | return the type_id (when changing a table, a new type may be created) |
type_definition | string | return the type_definition (when changing a table, a new type may be created) |
properties | map of string to arrays of strings | return the type properties (when changing a table, a new type may be created) |
label | string | return the type label (when changing a table, a new type may be created) |
info | map of string to strings | Additional information. |