为什么我的Oracle SQL用户即使拥有创建表的权限也不能创建表?
为什么Oracle SQL不允许被授予创建表权限的用户创建表 如果我跑 从会话中选择* 当以用户身份连接时,我可以验证我是否具有创建表和创建任意表的权限 但是,当我尝试以用户身份创建表时:为什么我的Oracle SQL用户即使拥有创建表的权限也不能创建表?,oracle,create-table,Oracle,Create Table,为什么Oracle SQL不允许被授予创建表权限的用户创建表 如果我跑 从会话中选择* 当以用户身份连接时,我可以验证我是否具有创建表和创建任意表的权限 但是,当我尝试以用户身份创建表时: create table Course( CId int GENERATED BY DEFAULT AS IDENTITY, CName VARCHAR2(50) ); 我感到恐惧 Error starting at line : 2 in command - create table c##FACULTY
create table Course(
CId int GENERATED BY DEFAULT AS IDENTITY,
CName VARCHAR2(50)
);
我感到恐惧
Error starting at line : 2 in command -
create table c##FACULTYDB.Course(
FId int GENERATED BY DEFAULT ON NULL AS IDENTITY,
FName VARCHAR2(50) not null
)
Error report -
ORA-01031: insufficient privileges
01031. 00000 - "insufficient privileges"
*Cause: An attempt was made to perform a database operation without
the necessary privileges.
*Action: Ask your database administrator or designated security
administrator to grant you the necessary privileges
当我运行与SYS相同的createtable代码时,它工作得很好。有没有人知道是什么导致了这种情况的发生???要创建具有标识列的表,您还必须具有创建序列权限 例如,如果管理员创建此用户:
create user test_user identified by test_user;
grant create session, create table, create any table to test_user;
对于该用户,此语句将失败:
TEST_USER@orclpdb> create table Course(
2 CId int GENERATED BY DEFAULT AS IDENTITY,
3 CName VARCHAR2(50)
4 );
create table Course(
*
ERROR at line 1:
ORA-01031: insufficient privileges
但在管理员运行此授权后:
grant create sequence to test_user;
用户将能够创建表:
TEST_USER@orclpdb> create table Course(
2 CId int GENERATED BY DEFAULT AS IDENTITY,
3 CName VARCHAR2(50)
4 );
Table created.
创建表格课程如何导致创建表格cFACULTYDB.Faculty的可怕错误?您是否以用户cFACULTYDB的身份连接?您说您正在尝试创建表格课程,但显示了表格Faculty的错误。这是一个令人困惑的问题。请编辑您的问题并澄清这些不一致之处。谢谢。更正以反映正确的错误。