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
grant语句,一次只能对一个对象进行赋权;不能同时对两个表进行赋权;但可以同时赋权多个不同的权限。解决方法如下:
1、在使用oracle数据库的时候,权限是极其重要的,如果新建的用户如果没有权限,甚至都无法登录数据库。
2、为新建用户分配权限主要有三种connect主要使用是让用户可以连接到数据库 ,resource主要使用是让用户可以创建表,dba它是一种比较特殊的权限,普通用户拥有之后可以成为数据库管理者。
3、还有一种权限主要是针对表的权限,select update delete insert all也就是拥有用户对某张表有查询 、更改、删除、插入及所有权限。
4、如果想要查询用户的权限可以通过下图中的方法进行查询。
5、与grant相对应的就是收回权限使用revoke如下图。
参考技术Bgrant语句,一次只能对一个对象进行赋权;不能同时对两个表进行赋权;但可以同时赋权多个不同的权限;如,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语句如下:
4、执行后结果如图,表明插入成功。
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权限给另外一个用户