网站首页 > 文章中心 > 其它

oracle序列如何赋权

作者:小编 更新时间:2023-10-22 11:54:15 浏览量:222人看过

请教:动态创建oracle序列,使用时提示序列不

①.、首先要保证该数据库用户有删除序列和新建序列的权限,存储过程中这个权限要显示赋权:

grant create sequence to 数据库用户;

oracle序列如何赋权-图1

grant drop any sequence to 数据库用户;

创建序列:

execute immediate

'create sequence 序列名' || chr(10) ||

'minvalue 1' || chr(10) ||

'start with 1' || chr(10) ||

'increment by 1' || chr(10) ||

删除序列:

execute immediate 'drop sequence 序列名';

怎么给oracle数据库创建用户,并赋权限

一般创建用户用的是create user,然后再通过grant赋权.

创建:create user XXXX identified by xxxxx;

赋权:grant connect,resource,XXXXXX to XXXXXX; (具体权利查询dba_sys_privs)

oracle如何给用户创建查询序列的权限?

①.、create user userName identified by password;

执行上面三步就行了,那么这个用户就只有查询权限,其他的权限都没有!!

延展阅读:

oracle

ORACLE中怎么设置SEQUENCE权限?

ORACLE中怎么设置SEQUENCE权限步骤如下:

①.、Create Sequence

首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限.

创建语句如下:

CREATE?SEQUENCE seqTest

INCREMENT?BY?1?--?每次加几个

START?WITH?1?--?从1开始计数

NOMAXvalue?--?不设置最大值

NOCYCLE?--?一直累加,不循环

CACHE?10;?--设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE

定义好sequence后,你就可以用currVal,nextVal取得值.

CurrVal:返回 sequence的当前值

NextVal:增加sequence的值,然后返回 增加后sequence值

得到值语句如下:

SELECT?Sequence名称.CurrVal?FROM?DUAL;?

如得到上边创建Sequence值的语句为:

select?seqtest.currval?from?dual

在Sql语句中可以使用sequence的地方:

- 不包含子查询、snapshot、VIEW的 SELECT 语句

- INSERT语句的子查询中

- INSERT语句的values中

- UPDATE 的 SET中

如在插入语句中

insert?into?表名(id,name)values(seqtest.Nextval,'sequence?插入测试');

拥有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create.

DROP?SEQUENCE?seqTest;?

create?or?replace?trigger?tri_test_id

before?insert?on?S_Depart?--S_Depart?是表名

for?each?row

declare

nextid?number;

begin

IF?:new.DepartId?IS?NULLor?:new.DepartId=0?THEN?--DepartId是列名

select?SEQ_ID.nextval?--SEQ_ID正是刚才创建的

into?nextid

from?sys.dual;

:new.DepartId:=nextid;

end?if;

end?tri_test_id;

ORACLE中怎么设置SEQUENCE权限啊

可以按下列步骤:

如果这个序列是要给其他用户使用:

conn?sys/password?as?sysdba

grant?create?sequence?to?用户;

CREATE?SEQUENCE?seqTest

oracle创建用户后一般给什么权限

具体需要哪些权限需要看用户的实际需要.我们要在有最高权限的system用户创建用户,再赋予新建用户权限,只有给新建用户权限,新建用户才能干什么.

第一段:权限分为系统权限及对象权限.

①.、系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言).

①.)、DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构.

对于普通用户:授予connect, resource权限.

对于DBA管理用户:授予connect,resource, dba权限.

CREATE SESSION,创建会话,才可以打开界面

CREATE TABLE,创建表,可创建空表,但没有权限插入数据

CREATE SEQUENCE创建序列

CREATE VIEW,创建视图

扩展资料

第一段:赋权方式,有两种赋予用户权限的方式,

①.、对用户赋权

一对一的赋予新建用户权限,这样赋予新建用户权限比较有活性,如果新建用户多了,就比较麻烦.

先创建角色,将权限先赋给角色代理,最后将角色代理的权限赋新建用户,这样比较死板,但是可以同时赋给很多用户.

参考资料

Oracle官网-Grant

以上就是土嘎嘎小编为大家整理的oracle序列如何赋权相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章