oracle的grant语句,一次只能授权一张表的访问权限吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle的grant语句,一次只能授权一张表的访问权限吗?相关的知识,希望对你有一定的参考价值。

如图,worker表和department表都是存在的,为什么报错??

grant语句,一次只能对一个对象进行赋权;不能同时对两个表进行赋权;但可以同时赋权多个不同的权限;如,grant select,update,insert on test_null to sys;

举例实践如下:

1、多表同时赋权,会产生报错信息。

2、grant后的权限,可以重新收入,如,revoke update on test_null from sys。

3、当然也可以一次对该用户的所有表(不是同时多个对象),进行赋权,如,grant select any table to sys。

4、执行revoke select any table from sys;语句,可以将所有select赋权对象,进行回收。

扩展资料

1、给数据库用户授权(对象为用户表)

GRANT privilege[, ...] ON object[, ...] TO PUBLIC | GROUP group| username

privilege包含,select:查询、insert:插入、update:更新、delete:删除、all:所有

2、grant select,insert,update on tablename to public;

给所有用户授予查询、插入、更新tablename表的权限

revoke select,insert,update on tablename from public;//收回所有用户查询、插入、更新tablename表的权限

object包含,table:表、view:视图、sequence:序列、index:索引

3、grant select,insert,update on tablename,viewname,sequencename,indexname to public;

1)public:对所有用户开放权限

2)GROUP groupname:对该组所有用户开放权限

3)username:对指定用户开放权限

参考资料

ORACLE官网-ORACLE GRANT

参考技术A

grant语句,一次只能对一个对象进行赋权;不能同时对两个表进行赋权;但可以同时赋权多个不同的权限。解决方法如下:

1、在使用oracle数据库的时候,权限是极其重要的,如果新建的用户如果没有权限,甚至都无法登录数据库。

2、为新建用户分配权限主要有三种connect主要使用是让用户可以连接到数据库 ,resource主要使用是让用户可以创建表,dba它是一种比较特殊的权限,普通用户拥有之后可以成为数据库管理者。

3、还有一种权限主要是针对表的权限,select update  delete insert  all也就是拥有用户对某张表有查询 、更改、删除、插入及所有权限。

4、如果想要查询用户的权限可以通过下图中的方法进行查询。

5、与grant相对应的就是收回权限使用revoke如下图。

参考技术B

grant语句,一次只能对一个对象进行赋权;不能同时对两个表进行赋权;但可以同时赋权多个不同的权限;如,grant select,update,insert on test_null to sys;

如:

1、多表同时赋权,会产生报错信息。

2、grant后的权限,可以重新收入,如,revoke update on test_null from sys。

扩展资料:

GRANT 允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限。对象创建后,除了创建者外,除非创建者赋予(GRANT)权限,其他人没有访问对象的权限。一旦用户有某对象的权限,他就可以使用那个特权。

不需要给创建者赋予(GRANT)对象的权限,创建者自动拥有对象的所有权限,包括删除它的权限。

参考资料来源:百度百科-grant (计算机术语)

参考技术C 是的,一次grant只能指定一个对象,例如:grant select, update, insert on emp to hr;
可以多种操作权限,但是只能指定一张表。

记得采纳。本回答被提问者和网友采纳
参考技术D 如果是授权几个表,只能单独授权
如果是授权某个用户下所有的表
可以使用
grant select any table to scott;

sql语句 怎么从一张表中查询数据插入到另一张表中

可用insert into语句将查询的数据插入到另一张表。

前提:查询的字段要与被插入表的字段属性一致及长度一致,否则,在插入过程中容易报错。

使用数据库:Oracle

步骤:

1、罗列下源表的数据。

2、目标表结构如图,其中name字段与favourite字段均与student表的长度和类型一致。

3、执行sql语句如下:

insert into student_bak(name,favourite) select name,favourite from student;

4、执行后结果如图,表明插入成功。

参考技术A 首先,查询出来的数据表格式要与待插入的另一张表的格式相同,字段类型相同。
insert into B in 'D:\另一张表所在文档' select * from A where ....
上面就是把从A表中查询到的数据插入到另一个文档中的B表中。本回答被提问者采纳
参考技术B sql语句从一张表中查询数据插入到另一张表中:
insert into 表a(列1,列2) select 列1,列2 from 表b
参考技术C

标准SQL语句格式:

INSERT 

INTO 表名(字段名)

select 字段名

from 表面

例子:将查询出的s表中sno,j表中jno,p表中pno插入spj表中

insert 

into spj(sno,jno,pno)

select sno,jno,pno

from s,j,p

扩展资料:

删除语句:DELETE * FROM table_name

查询语句:SELECT * FROM Persons WHERE ROWNUM <= 5

建立视图:CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition




以上是关于oracle的grant语句,一次只能授权一张表的访问权限吗?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 11g 中如何授权一张表某个字段的select权限给另外一个用户

oracle 将一张表的数据插入到另一张表

在oracle中怎么把一张表的数据插入到另一张表中

oracle查询一个用户下有多少张表

SQL语句循环一张表的一个字段ID,根据这个字段的内容去修改另一张表,

oracle中怎么查询某张表的分区?