创建和管理视图

视图以表的形式显示查询结果。在大多数情况下,如果可以使用表,就可以使用视图。当您需要经常访问存储在多个不同表中的信息时,视图会非常有用。

另请参见:

创建视图

要创建视图,请使用 SQL Developer 的“创建视图”工具或 DDL 语句 CREATE VIEW。

本主题介绍如何使用这两种方式创建下列视图:

另请参见:

教程:使用“创建视图”工具创建视图

本教程介绍如何使用“创建视图”工具创建 SALESFORCE 视图。

使用“创建视图”工具创建 SALESFORCE 视图的步骤:

  1. 在 "Connections"(连接)框架中,展开 hr_conn

  2. 在方案对象类型列表中,右键单击视图

  3. 在选项列表中,单击新建视图

    即会打开“创建视图”窗口,其中提供了新视图的默认值。

  4. 对于“方案”,请接受默认值 HR。

  5. 对于“名称”,请输入 SALESFORCE

  6. 如果未显示“SQL 查询”窗格,请单击选项卡 SQL 查询

  7. 在“SQL Query(SQL 查询)”窗格的“SQL Query(SQL 查询)”字段中:

    • SELECT 后,键入:

      FIRST_NAME || ' ' || LAST_NAME "Name", SALARY*12 "Annual Salary"
      
    • FROM 后,键入:

      EMPLOYEES WHERE DEPARTMENT_ID = 80
      
  8. 单击 Check Syntax (检查语法)。

  9. 在“语法结果”下,如果消息不是 No errors found in SQL,请返回步骤 7 ,并更正查询中的语法错误。

  10. 单击确定

    SALESFORCE 视图已创建。要查看该视图,请展开“Connections(连接)”框架中的“Views(视图)”。

    要查看用于创建此视图的 CREATE VIEW 语句,请选择其名称并单击选项卡 SQL

另请参见: Oracle SQL Developer User’s Guide(了解有关使用 SQL Developer 创建视图的更多信息)

使用 CREATE VIEW 语句创建视图

本示例说明如何使用 CREATE VIEW 语句创建 EMP_LOCATIONS 视图,该视图联接四个表。

Example 4-3 中的 CREATE VIEW 语句将创建 EMP_LOCATIONS 视图,该视图联接四个表。(有关联接的信息,请参阅“从多个表中选择数据”。)

示例 4-3 使用 CREATE VIEW 创建 EMP_LOCATIONS 视图

CREATE VIEW EMP_LOCATIONS AS
SELECT e.EMPLOYEE_ID,
e.LAST_NAME || ', ' || e.FIRST_NAME NAME,
  d.DEPARTMENT_NAME DEPARTMENT,
  l.CITY CITY,
  c.COUNTRY_NAME COUNTRY
FROM EMPLOYEES e, DEPARTMENTS d, LOCATIONS l, COUNTRIES c
WHERE e.DEPARTMENT_ID = d.DEPARTMENT_ID AND
 d.LOCATION_ID = l.LOCATION_ID AND
 l.COUNTRY_ID = c.COUNTRY_ID
ORDER BY LAST_NAME;

结果:

View EMP_LOCATIONS created.

另请参见: Oracle Database SQL Language Reference(了解有关 CREATE VIEW 语句的信息)

更改视图中的查询

要更改视图中的查询,请将 DDL 语句 CREATE VIEW 与 OR REPLACE 子句一起使用。

Example 4-4 中的 CREATE OR REPLACE VIEW 语句将更改 SALESFORCE 视图中的查询。

示例 4-4 更改 SALESFORCE 视图中的查询

CREATE OR REPLACE VIEW SALESFORCE AS
SELECT FIRST_NAME || ' ' || LAST_NAME "Name",
  SALARY*12 "Annual Salary"
  FROM EMPLOYEES
WHERE DEPARTMENT_ID = 80 OR DEPARTMENT_ID = 20;

结果:

View SALESFORCE created.

另请参见: Oracle Database SQL Language Reference(了解有关带有 OR REPLACE 子句的 CREATE VIEW 的信息)

教程:使用重命名工具更改视图名称

此教程演示如何使用“重命名”工具更改 SALESFORCE 视图的名称。

要更改视图名称,请使用 SQL Developer 工具“RENAME(重命名)”或 RENAME 语句。对应的 DDL 语句为:

RENAME SALESFORCE to SALES_MARKETING;

使用“重命名”工具更改 SALESFORCE 视图的步骤:

  1. 在 "Connections"(连接)框架中,展开 hr_conn

  2. 在方案对象类型的列表中,展开视图

  3. 在视图列表中,右键单击 SALESFORCE

  4. 在选项列表中,选择重命名

  5. 在“重命名”窗口的“新视图名称”字段中,键入 SALES_MARKETING

  6. 单击应用

  7. 在“确认”窗口中,单击确定

另请参阅: Oracle Database SQL Language Reference(了解有关 RENAME 语句的信息)

删除一个视图

要删除视图,请使用 SQL Developer Connections 框架和“删除”工具或 DDL 语句 DROP VIEW。

以下教程介绍如何使用连接框架和删除工具删除 SALES_MARKETING 视图(已在教程:使用重命名工具更改视图名称中更改)。对应的 DDL 语句为:

DROP VIEW SALES_MARKETING;

使用“删除”工具删除 SALES_MARKETING 视图的步骤:

  1. 在 "Connections"(连接)框架中,展开 hr_conn

  2. 在方案对象类型列表中,展开视图

  3. 在视图列表中,右键单击 SALES_MARKETING

  4. 在选项列表中,单击删除

  5. 在 "Drop" 窗口中,单击 Apply

  6. 在“确认”窗口中,单击确定

另请参见: Oracle Database SQL Language Reference(了解有关 DROP VIEW 语句的信息)