---
title: "修改视图 | OceanBase 文档中心"
description: "修改视图 您可以使用 ALTER VIEW 语句来修改视图的定义。本文为您介绍如何修改普通视图的定义。 语法 ALTER VIEW view_name [(column_name_list)] AS select_stmt; column_name_list: column_name [, column_name .…"
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 3.2.3 企业版 LTS

# 修改视图

更新时间：2023-07-18 17:25:58

您可以使用 ALTER VIEW 语句来修改视图的定义。本文为您介绍如何修改普通视图的定义。

## 语法

```unknow
ALTER VIEW view_name [(column_name_list)] AS select_stmt;

column_name_list:
    column_name [, column_name ...]

```

### 参数解释

| 参数 | 描述 |
| --- | --- |
| select_stmt | 是一种 `SELECT` 语句。它给出了视图的定义。该语句可以从基表或其他视图进行选择。 |
| column_name_list | 视图必须具有唯一的列名，不得有重复，就像基表那样。缺省情况下，由 `SELECT` 语句检索的列名将用作视图列名。 要想为视图列定义明确的名称，可使用可选的 `column_name_list` 子句，列出由逗号隔开的 ID。`column_name_list` 中的名称数目必须等于 `SELECT`语句检索的列数。 `SELECT` 语句检索的列可以是对表列的简单引用。也可以是使用函数、常量值、操作符等的表达式。 |

## 示例

1. 查看视图 `v` 的结构。

   ```unknow
   obclient> DESC v;
   +--------+---------------+------+-----+---------+-------+
   | FIELD  | TYPE          | NULL | KEY | DEFAULT | EXTRA |
   +--------+---------------+------+-----+---------+-------+
   | ID     | NUMBER(38)    | YES  | NULL | NULL    | NULL  |
   | NAME   | VARCHAR2(256) | YES  | NULL | NULL    | NULL  |
   | C_DATE | DATE          | YES  | NULL | NULL    | NULL  |
   | AGE    | NUMBER(38)    | YES  | NULL | NULL    | NULL  |
   | SEX    | VARCHAR2(256) | YES  | NULL | NULL    | NULL  |
   +--------+---------------+------+-----+---------+-------+
   5 rows in set

   ```
 2. 查看视图 `v` 的创建。

   ```unknow
   obclient> show create table v\G
   *************************** 1. row ***************************
                   VIEW: V
   CREATE VIEW: CREATE VIEW "V" AS select "A"."ID1" AS "ID","A"."NAME" AS "NAME","B"."C_DATE" AS "C_DATE","B"."AGE" AS "AGE","A"."SEX" AS "SEX" from "SYS"."T1" "A","SYS"."T2" "B" where ("A"."ID1" = "B"."ID2")
   CHARACTER_SET_CLIENT: utf8mb4
   COLLATION_CONNECTION: utf8mb4_bin
   1 row in set

   ```
 3. 查看 `t3` 表的表结构。

   ```unknow
   obclient> DESC t3;
   +--------+---------------+------+-----+---------+-------+
   | FIELD  | TYPE          | NULL | KEY | DEFAULT | EXTRA |
   +--------+---------------+------+-----+---------+-------+
   | ID     | NUMBER        | YES  | NULL | NULL    | NULL  |
   | NAME   | VARCHAR2(128) | YES  | NULL | NULL    | NULL  |
   | C_DATE | DATE          | YES  | NULL | NULL    | NULL  |
   | AGE    | NUMBER(38)    | YES  | NULL | NULL    | NULL  |
   | SEX    | VARCHAR2(128) | YES  | NULL | NULL    | NULL  |
   +--------+---------------+------+-----+---------+-------+
   5 rows in set

   ```
 4. 将视图 `v` 的定义修改为 `t3` 表的定义。

   ```unknow
   obclient> CREATE OR REPLACE FORCE VIEW v AS SELECT * FROM t3;
   Query OK, 0 rows affected

   ```
 5. 再次查看视图 `v` 的结构。

   ```unknow
   obclient> DESC v;
   +--------+---------------+------+-----+---------+-------+
   | FIELD  | TYPE          | NULL | KEY | DEFAULT | EXTRA |
   +--------+---------------+------+-----+---------+-------+
   | ID     | NUMBER        | YES  | NULL | NULL    | NULL  |
   | NAME   | VARCHAR2(128) | YES  | NULL | NULL    | NULL  |
   | C_DATE | DATE          | YES  | NULL | NULL    | NULL  |
   | AGE    | NUMBER(38)    | YES  | NULL | NULL    | NULL  |
   | SEX    | VARCHAR2(128) | YES  | NULL | NULL    | NULL  |
   +--------+---------------+------+-----+---------+-------+
   5 rows in set

   ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
