如何解决在视图中添加虚拟列
我想在视图中添加虚拟列age
。
该表定义为:
CREATE TABLE PERSON (,FIRST_NAME VARCHAR2(25 BYTE),LAST_NAME VARCHAR2(25 BYTE) NOT NULL,BIRTH_DATE DATE NOT NULL
)
我正在使用以下方法创建视图:
CREATE OR REPLACE VIEW v_person as SELECT
first_name,last_name,birth_date,age (NUMBER(8,0)) generated always as(sysdate - birth_date) virtual
FROM
person;
我收到此错误:
ORA-00923: FROM keyword not found where expected
00923. 00000 - "FROM keyword not found where expected"
*Cause:
*Action:
解决方法
视图 已经是一个虚拟数据结构。创建它的查询定义其列。只需将表达式添加到select
:
CREATE OR REPLACE VIEW v_person as
SELECT
first_name,last_name,birth_date,sysdate - birth_date as age
FROM person;
,
视图是存储在数据库中的SQL,当我们从视图中选择时,我们实际上正在执行为该视图定义的查询。 视图中不能有虚拟列,可以在表中创建虚拟列,也可以在视图中定义列。
SELECT column1,column2,(sysdate - birth_date)as age
FROM person;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。