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:表或视图不存在
这是我的代码。我怎么了?
答案 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 。
修改强> 此外,您还需要创建任何视图权限才能创建视图。我假设你的表空间只有一个用户,允许使用视图但不允许创建一个用户。