如何在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 (
...