ALTER VIEW applies a schema change to a .
The
ALTER VIEW statement performs a schema change. For more information about how online schema changes work in CockroachDB, see .Required privileges
- To change the schema of a view with
ALTER VIEW ... SET SCHEMA, the user must have theDROPon the view and theCREATEprivilege on the new schema. - To rename a view with
ALTER VIEW ... RENAME TO, the user must have theDROPon the view and theCREATEprivilege on the view’s database.
Syntax
Parameters
| Parameter | Description |
|---|---|
MATERIALIZED | Rename a . |
IF EXISTS | Rename the view only if a view of view\_name exists; if one does not exist, do not return an error. |
view\_name | The name of the view to rename. To find existing view names, use: SELECT \* FROM information\_schema.tables WHERE table\_type = 'VIEW'; |
view\_new\_name | The new name of the view. The name of the view must be unique to its database and follow these . Name changes do not propagate to the table(s) using the view. |
schema\_name | The name of the new schema. |
role\_spec | The role to set as the owner of the view. |
Known limitations
ALTER VIEW does not currently support:
- Changing the statement executed by a view. Instead, you must drop the existing view and create a new view.
- Renaming a view that other views depend on. This feature may be added in the future.
Examples
Rename a view
Suppose you create a new view that you want to rename:RENAME TO only changes the name of the view; it cannot move the view to a different database or schema. To change a view’s schema, use the SET SCHEMA clause.
Change the schema of a view
Suppose you want to add theexpensive_rides view to a schema called cockroach_labs:
By default, created in the database belong to the public schema:

