私は学校にSQL * Plusを使用し、ユーザー名Scottを使用しています。次のように表示されているため、ビューを作成できません。
ORA-01031: insufficient privileges;
私は検索して検索しましたが、何も正しくないようです。何か助けはありますか?
エラーが示すように(ビューを作成するには特権が不十分です)、データベース管理者にこの特権を付与するように依頼する必要があります。データベース管理者としてログインできる場合は、ステートメントを実行する必要があります(正確性は保証できません。Oracleデータベースが手元にありません)。
GRANT CREATE ANY VIEW TO Scott;
または
GRANT CREATE VIEW TO Scott;
[〜#〜] grant [〜#〜]CREATE VIEW特権[〜#〜] user [〜#〜]これはビューを作成しています。
たとえば、新しいユーザーを作成して、セッション、テーブル、およびビューを作成できるようにします。
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.
私が取り消す特権の場合、あなたはORA-01031:不十分な特権:を受け取ります。
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-スコットに任意のビューを作成することを許可します。
ステップ3-connscott/tiger
ステップ4-ビューvをselect * fromemp;として作成または置換します。