DROP VARIABLE

Removes a schema variable from the schema.

A dropped variable can be recovered within the Time Travel retention period using UNDROP VARIABLE.

See also:

CREATE VARIABLE , ALTER VARIABLE , UNDROP VARIABLE , SHOW SCHEMA VARIABLES IN SCHEMA

Syntax

DROP VARIABLE [ IF EXISTS ] <name>

Parameters

name

Specifies the identifier for the variable to drop. The identifier can be qualified with the schema name or with both the database and schema names.

Access control requirements

A role used to execute this operation must have the following privileges at a minimum:

PrivilegeObjectNotes
OWNERSHIPVariableOWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). Note that in a managed access schema, only the schema owner (i.e. the role with the OWNERSHIP privilege on the schema) or a role with the MANAGE GRANTS privilege can grant or revoke privileges on objects in the schema, including future grants.

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.

Usage notes

  • When the IF EXISTS clause is specified and the target object doesn’t exist, the command completes successfully without returning an error.
  • The IF EXISTS modifier suppresses the error if the variable doesn’t exist.
  • Dropping a variable doesn’t affect any session variables of the same name.
  • A dropped variable can be restored within the Time Travel retention period using UNDROP VARIABLE.

Examples

Drop a variable:

DROP VARIABLE myschema.tax_rate;

Drop a variable only if it exists:

DROP VARIABLE IF EXISTS myschema.batch_cursor;