ALTER DATASET … ADD VERSION¶
Adds a version to a dataset. When you add a version, you can specify properties such as partitioning, comments, or custom metadata.
- See also:
Syntax¶
ALTER DATASET <name> ADD VERSION <version_name>
FROM <select_statement>
[ PARTITION BY <string_expr> ]
[ COMMENT = <string_literal> ]
[ METADATA = <json_string_literal> ]
Parameters¶
nameThe name of the dataset that you’re altering.
ADD VERSION version_nameThe name of the new dataset version that you’re creating.
FROM select_statementThe SQL statement that defines the data for the new dataset version.
PARTITION BY string_exprThe partitioning expression for the new dataset version.
COMMENT = string_literalA comment for the new dataset version.
METADATA = json_string_literalA JSON string containing metadata for the new dataset version. The following is an example of a JSON string.
{"source": "my_table", "job_id": "123"}
Access control requirements¶
A role used to execute this operation must have the following privileges at a minimum:
Privilege |
Object |
Notes |
|---|---|---|
OWNERSHIP |
Dataset |
Provides the privilege to both read and modify the dataset. |
The USAGE privilege on the parent database and schema are required to perform operations on any object in a schema. Note that a role granted any privilege on a schema allows that role to resolve the schema. For example, a role granted CREATE privilege on a schema can create objects on that schema without also having USAGE granted on that schema.
For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.
For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.
Examples¶
The following example adds version v1 to the abc dataset with partitioning:
ALTER DATASET abc
ADD VERSION 'v1' FROM (
SELECT seq4() as ID, uniform(1, 10, random(721)) as PART
FROM TABLE(GENERATOR(ROWCOUNT => 100000)) v)
PARTITION BY PART
COMMENT = 'Initial version'
METADATA = '{"source":"some_table","created_by":"analyst1"}';