如何在oracle sql 11g中创建视图

时间:2017-10-16 12:37:41

标签: sql oracle create-view

SQL> CREATE VIEW  "[my_view]" as select ename, sal from emp where sal>2000;
  

创建视图“[my_view]”作为选择ename,sal来自emp,其中sal> 2000                *第1行的错误:ORA-01031:权限不足

SQL> select * from "[my_view]";
  

从“[my_view]”中选择*                 *第1行的错误:ORA-00942:表或视图不存在

这是我的代码。我怎么了?

3 个答案:

答案 0 :(得分:0)

我不确定您是否可以将[]添加到视图名称,尝试使用“[My_View]”,但您也必须使用“[My_View]”进行选择。

答案 1 :(得分:0)

创建视图名称时不允许使用

[],查询应如下所示

create view My_View as select ename, sal from emp where sal>2000;

有关详细信息,请参阅docs

答案 2 :(得分:0)

Oracle不使用括号作为标识符“quotation”。正确的语法是:

create view my_view as ...

create view "MY_VIEW" as ..

使用引号确实可以通过包括大写和小写的名称来创建视图,而在没有它的情况下,它将转换为数据库标准大小写设置。使用Oracle my_view 将是 MY_VIEW

修改 此外,您还需要创建任何视图权限才能创建视图。我假设你的表空间只有一个用户,允许使用视图但不允许创建一个用户。