| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
| <concept rev="1.1" id="alter_view"> |
| |
| <title>ALTER VIEW Statement</title> |
| |
| <titlealts audience="PDF"> |
| |
| <navtitle>ALTER VIEW</navtitle> |
| |
| </titlealts> |
| |
| <prolog> |
| <metadata> |
| <data name="Category" value="Impala"/> |
| <data name="Category" value="SQL"/> |
| <data name="Category" value="DDL"/> |
| <data name="Category" value="Tables"/> |
| <data name="Category" value="Schemas"/> |
| <data name="Category" value="Views"/> |
| <data name="Category" value="Developers"/> |
| <data name="Category" value="Data Analysts"/> |
| </metadata> |
| </prolog> |
| |
| <conbody> |
| |
| <p> |
| The <codeph>ALTER VIEW</codeph> statement changes the characteristics of a view. |
| </p> |
| |
| <p> |
| Because a view is a logical construct, an alias for a query, with no physical data behind |
| it, <codeph>ALTER VIEW</codeph> only involves changes to metadata in the metastore |
| database, not any data files in HDFS. |
| </p> |
| |
| <p> |
| To see the definition of the updated view, issue a <codeph>DESCRIBE FORMATTED</codeph> |
| statement. |
| </p> |
| |
| <p conref="../shared/impala_common.xml#common/syntax_blurb"/> |
| |
| <codeblock>ALTER VIEW [<varname>database_name</varname>.]<varname>view_name</varname> |
| [(<varname>column_name</varname> [COMMENT '<varname>column_comment</varname>'][, ...])] |
| AS <varname>select_statement</varname>; |
| |
| ALTER VIEW [<varname>database_name</varname>.]<varname>view_name</varname> |
| RENAME TO [<varname>database_name</varname>.]<varname>view_name</varname>; |
| |
| ALTER VIEW [<varname>database_name</varname>.]<varname>view_name</varname> SET OWNER USER user_name; |
| |
| ALTER VIEW [<varname>database_name</varname>.]<varname>view_name</varname> |
| SET TBLPROPERTIES ('<varname>name</varname>' = '<varname>value</varname>'[, '<varname>name</varname>' = '<varname>value</varname>' ...]); |
| |
| ALTER VIEW [<varname>database_name</varname>.]<varname>view_name</varname> |
| UNSET TBLPROPERTIES ('<varname>name</varname>'[, ...]); |
| </codeblock> |
| |
| <ul> |
| <li> |
| The <codeph>AS</codeph> clause associates the view with a different query. |
| <p> |
| An optional list of column names can be specified with or without the column-level |
| comments. |
| </p> |
| |
| <p> |
| For example: |
| <codeblock> |
| ALTER VIEW v1 AS SELECT x, UPPER(s) s FROM t2; |
| ALTER VIEW v1 (c1, c2) AS SELECT x, UPPER(s) s FROM t2; |
| ALTER VIEW v7 (c1 COMMENT 'Comment for c1', c2) AS SELECT t1.c1, t1.c2 FROM t1; |
| </codeblock> |
| </p> |
| </li> |
| |
| <li> |
| The <codeph>RENAME TO</codeph> clause changes the name of the view, moves the view to a |
| different database, or both. |
| <p> |
| For example: |
| <codeblock>ALTER VIEW db1.v1 RENAME TO db2.v2; -- Move the view to a different database with a new name. |
| ALTER VIEW db1.v1 RENAME TO db1.v2; -- Rename the view in the same database. |
| ALTER VIEW db1.v1 RENAME TO db2.v1; -- Move the view to a difference database with the same view name.</codeblock> |
| </p> |
| </li> |
| |
| <li rev="3.1 IMPALA-6988"> |
| The <codeph>SET OWNER</codeph> clause transfers the ownership of the view from the |
| current owner to another user. |
| <p> |
| The view owner is originally set to the user who creates the view. |
| The term <codeph>OWNER</codeph> is used to differentiate between the |
| <codeph>ALL</codeph> privilege that is explicitly granted via the |
| <codeph>GRANT</codeph> statement and a privilege that is implicitly granted by the |
| <codeph>CREATE VIEW</codeph> statement. |
| </p> |
| </li> |
| |
| <li rev="IMPALA-11420"> |
| The <codeph>SET TBLPROPERTIES</codeph> clause is primarily a way to associate arbitrary |
| user-specified data items with a particular view. |
| <p> |
| You can associate arbitrary items of metadata with a table by specifying the |
| <codeph>TBLPROPERTIES</codeph> clause. This clause takes a comma-separated list of |
| key-value pairs and stores those items in the metastore database. You can also unset the |
| view properties later with an <codeph>UNSET TBLPROPERTIES</codeph> clause. |
| </p> |
| |
| <p> |
| For example: |
| <codeblock>ALTER VIEW v1 SET TBLPROPERTIES ('tblp1' = '1', 'tblp2' = '2'); |
| ALTER VIEW v1 UNSET TBLPROPERTIES ('tblp1', 'tblp2'); |
| </codeblock> |
| </p> |
| </li> |
| </ul> |
| |
| <p conref="../shared/impala_common.xml#common/ddl_blurb"/> |
| |
| <p conref="../shared/impala_common.xml#common/sync_ddl_blurb"/> |
| |
| <p conref="../shared/impala_common.xml#common/security_blurb"/> |
| |
| <p conref="../shared/impala_common.xml#common/redaction_yes"/> |
| |
| <p conref="../shared/impala_common.xml#common/cancel_blurb_no"/> |
| |
| <p conref="../shared/impala_common.xml#common/permissions_blurb_no"/> |
| |
| <p conref="../shared/impala_common.xml#common/related_info"/> |
| |
| <p> |
| <xref href="impala_views.xml#views"/>, <xref href="impala_create_view.xml#create_view"/>, |
| <xref href="impala_drop_view.xml#drop_view"/> |
| </p> |
| |
| </conbody> |
| |
| </concept> |