ALTER VIEW(數據庫數據庫)
更改與視圖關聯的元數據。它可以更改視圖的定義,將視圖的名稱更改為不同的名稱,設置和取消設置視圖的元數據TBLPROPERTIES
.
如果視圖被緩存,該命令將清除視圖的緩存數據及其引用視圖的所有依賴項。當視圖下次被訪問時,視圖的緩存將被惰性填充。該命令將視圖的依賴項保持為非緩存狀態。
語法
改變視圖view_name{重命名|集TBLPROPERTIES條款|設置TBLPROPERTIES條款|alter_body|owner_to}重命名重命名來to_view_namealter_body作為查詢property_key{idenitifier[....]|string_literal}owner_to老板來主要
參數
標識要更改的視圖。
重命名為to_view_name
重命名模式中的現有視圖。
to_view_name指定視圖的新名稱。如果
to_view_name
已經存在,TableAlreadyExistsException
拋出。如果to_view_name
是否合格就必須匹配模式名的view_name
.設置或重置一個或多個用戶定義的屬性。
刪除一個或多個用戶定義的屬性。
作為查詢
從基表或其他視圖構造視圖的查詢。
這個子句相當於a創建或替換視圖語句。
所有者主要
將視圖的所有權轉移到
主要
.類中定義的視圖hive_metastore
您隻能將所有權轉讓給您所屬的組。
例子
——Rename隻改變視圖名。——視圖的源模式和目標模式必須相同。——對源視圖和目標視圖使用限定名或非限定名。>改變視圖tempsc1.v1重命名來tempsc1.v2;驗證新視圖是否已創建。>描述表格擴展tempsc1.v2;c1int零c2字符串零#詳細的表格信息數據庫tempsc1表格v2——在ALTER VIEW SET TBLPROPERTIES之前>描述表格擴展tempsc1.v2;c1int零c2字符串零#詳細的表格信息數據庫tempsc1表格v2表格屬性[…]——在TBLPROPERTIES中設置屬性>改變視圖tempsc1.v2集TBLPROPERTIES(“created.by.user”=“約翰。”,“created.date”=“01-01-2001”);——使用“描述表擴展tempsc1”。v2的驗證>描述表格擴展tempsc1.v2;c1int零c2字符串零#詳細的表格信息數據庫tempsc1表格v2表格屬性[創建.通過.用戶=約翰,創建.日期=01-01-2001,…]——刪除create .by.user和created. key。日期從“TBLPROPERTIES”>改變視圖tempsc1.v2設置TBLPROPERTIES(`創建`.`通過`.`用戶`,創建.日期);——使用“描述表擴展tempsc1”。V2’來驗證更改>描述表格擴展tempsc1.v2;c1int零c2字符串零#詳細的表格信息數據庫tempsc1表格v2表格屬性[…]更改視圖定義>改變視圖tempsc1.v2作為選擇*從tempsc1.v1;——使用' DESCRIBE TABLE EXTENDED '來驗證>描述表格擴展tempsc1.v2;c1int零c2字符串零#詳細的表格信息數據庫tempsc1表格v2類型視圖視圖文本選擇*從tempsc1.v1視圖原始文本選擇*從tempsc1.v1—將視圖的所有權轉移給另一個用戶>改變視圖v1老板來`阿爾夫@melmak.等`