oracle 视图加入列,如何在sql Oracle 12c中使用ALTER VIEW在视图中添加列[重复](How to add column in a view using ALTER VIEW ...

如何在sql Oracle 12c中使用ALTER VIEW在视图中添加列[重复](How to add column in a view using ALTER VIEW in sql Oracle 12c [duplicate])

这个问题在这里已有答案:

创建初始视图

create or replace view concert_view

as

select concert.concert_id

from concert, event

where concert.concert_id=event.concert_id;

当我试图添加列使用时

alter view concert_view as

select

cname,edate

from concert,event

where concert.concert_id=event.concert_id;

我有一个错误的消息

改变视图concert_view为

*第1行的错误:ORA-00922:缺少或无效选项

This question already has an answer here:

INITIAL VIEW CREATED

create or replace view concert_view

as

select concert.concert_id

from concert, event

where concert.concert_id=event.concert_id;

WHEN I TRIED TO ADD COLUMNS USING

alter view concert_view as

select

cname,edate

from concert,event

where concert.concert_id=event.concert_id;

I HAVE AN ERROR MESSAGE

alter view concert_view as

* ERROR at line 1: ORA-00922: missing or invalid option

原文:https://stackoverflow.com/questions/42722312

更新时间:2019-12-08 11:04

最满意答案

View基本上只是一个SELECT -statement。 如果要在视图中添加另一列,只需更改它所基于的语句即可。 并重新创建一个视图。

A View is basically only a SELECT -statement. If you want to add another column to your view, just change the statement on which it is based. And recreate a view.

2017-03-10

相关问答

该问题与Oracle版本有关。 该错误显示在11.2.0.1上,但在应用11.2.0.4后,它不存在。 Oracle在这些版本之间的某处更改/修复了该问题。 The problem is related to Oracle version. The error is shown on 11.2.0.1 but after applying of 11.2.0.4 it does not exist. The issue was changed/fixed by Oracle somewhere b

...

我的pagesize设置为0 。 我不知道为什么这会导致列标题消失,但确实如此。 如果有人能比我更好地解释,我很乐意接受他们在我的列伊中的回答。 我将pagesize设置为14 ,我的列标题出现了。 My pagesize was set to 0. I don't know why this would cause the column headers to disappear, but it did. If someone can explain better than me, I'll gl

...

View基本上只是一个SELECT -statement。 如果要在视图中添加另一列,只需更改它所基于的语句即可。 并重新创建一个视图。 A View is basically only a SELECT -statement. If you want to add another column to your view, just change the statement on which it is based. And recreate a view.

您可以像这样创建一个虚拟列: ALTER TABLE persons ADD (NAME VARCHAR2(100)

GENERATED ALWAYS AS (JSON_VALUE(person, '$name' returning VARCHAR2)) VIRTUAL);

我不知道JSON_VALUE的正确语法,但我想你明白了。 如果需要,您还可以像任何其他列一样在这些列上定义索引。 但是,当您运行SELECT p.person FROM persons p WHERE p.name

...

正如krokodilko所说,执行以下操作: explain plan for

select pi.*

, pt.*

from policyissuance_oasis pi

, policytransaction_oasis pt

where

pi.newTranKeyJoin = pt.polTranKeyJoin(+)

and pi.policyNumber = '1-H000133'

and pi.DateChars='08/10/2017 09:24:51' -- 2016 d

...

Okie dokie如此, 将select语句更新为以下内容: SELECT ov.a, ov.b, ov.c, data.* FROM old_view ov,

JSON_TABLE

(

ov.my_column format json,

'$'

columns

something VARCHAR2(50 CHAR) format json path '$.x.y.z'

)

as data;

我正在处理

...

这是一个错误。 Oracle Support刚刚向我确认由于Oracle Version 12.1.0中的错误而发生异常。 仅限1个 。 有两种选择可供选择: 1)更新到Oracle 12.1.0版。 2 ,错误是固定的。 2)等待几周的Oracle即将开始工作的补丁。 该修补程序将在Oracle V12.1.0中修复此问题。 1 。 我们没有决定采用哪种方案,但我非常有信心,因为Oracle Support确实重现了我的问题,所以其中一种方法可行。 It's a bug. Oracle Supp

...

您必须在第二个函数之前删除逗号才能使其工作。 我用TOAD,sqlDeveloper和sqlPlus测试过。 如果你写这样的语句,结合两个函数: with

function add_string(p_string in varchar2) return varchar2

is

--Function to add a string

l_buffer varchar2(32767);

begin

l_buffer := p_string || ' works!';

...

看起来你可以: SQL> CREATE TABLE Import_Log (message_guid varchar2(36),

2 xml_data XMLType)

3 XMLTYPE xml_data STORE AS BINARY XML

4 VIRTUAL COLUMNS

5 (policynumber AS (XMLCast(XMLQuery('/PolicyMessage/Policy/PolicyNumber'

...

我正在尝试在Oracle 12.1.0.1.0上运行它 JSON支持随12.1.0引入。 2 ,所以你的版本不支持。 Oracle Database 12c第1版(12.1.0.2)新功能 I'm trying to run this on Oracle 12.1.0.1.0 JSON support was introduced with 12.1.0.2, so your version doesn't support that. Oracle Database 12c Release 1 (

...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值