我在Server和Oracle中做了一些测试。
当我在Server中创建临时表时,我不需要为指定的用户在临时表上授予select。任何用户都可以查询临时表。
在Oracle中,我需要为用户颁发授权。
这就是行为吗?我总是需要在临时桌子上发放补助金?
在此之后,我认为实现Server相同行为的一种方法是授予公共角色。
发布于 2019-09-24 15:04:54
全局临时表是全局的,因为它的定义是持久化的--其他会话也可以使用该表,因为它们在表上具有必要的特权。当然,表的内容是特定于使用它的会话的。
创建全局临时表
全局临时表是存储在磁盘上并对连接到数据库的所有会话可见的永久数据库对象。
是的,如果您希望其他用户或角色能够访问该权限,则需要授予它们对此的权限。
直到18c之前,Oracle还没有其他任何类型的临时表,这就引入了私有临时表,这些表类似于Server中的临时表:
创建专用临时表
私有临时表是在事务或会话结束时删除的临时数据库对象。私有临时表存储在内存中,每个表只对创建表的会话可见。
https://dba.stackexchange.com/questions/249490
相似问题