我在学校使用SQL * Plus并使用用户名Scott。 我无法创建视图,因为它显示:
ORA-01031: insufficient privileges;
我搜索了很多,但貌似没有找到正确的方法。有什么帮助吗?
ORA-01031: insufficient privileges;
我搜索了很多,但貌似没有找到正确的方法。有什么帮助吗?
正如错误所述-您的权限不足以创建视图-您将不得不要求数据库管理员授予您此权限。 如果您可以登录为数据库管理员,您将不得不执行该语句(我无法保证正确性,手头没有Oracle数据库)
GRANT CREATE ANY VIEW TO Scott;
或者GRANT CREATE VIEW TO Scott;
SQL> create user test identified by test;
User created.
SQL> grant create session, create table, create view to test;
Grant succeeded.
SQL> conn test/test@pdborcl;
Connected.
SQL> Create Table advanced
2 (Id varchar(15),
3 Name varchar(20),
4 Dept varchar(15),
5 Cgpa float,
6 Birth_date date,
7 Mob_no int,
8 Dist varchar(20),
9 Salary number(8));
Table created.
SQL> Create View advanced_data as
2 (
3 select name,dept,dist,salary from advanced
4 );
View created.
SQL> revoke create view from test;
Revoke succeeded.
SQL> conn test/test@pdborcl;
Connected.
SQL> Create or replace View advanced_data as
2 (
3 select name,dept,dist,salary from advanced
4 );
Create or replace View advanced_data as
*
ERROR at line 1:
ORA-01031: insufficient privileges
步骤1-使用sysdba连接ss/ss;
步骤2-授予Scott创建任何视图的权限;
步骤3-使用scott/tiger连接;
步骤4-创建或替换视图v,选择*from emp;
要作为数据库管理员(DBA)登录,您可以使用以下方法:
sqlplus / as sysdba
或者
sqlplus sys as sysdba