
ORACLE中怎么设置SEQUENCE权限步骤如下:
1、Create Sequence
首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。
CREATE SEQUENCE seqTest
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXvalue -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10 --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE
2、得到Sequence值
定义好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 插入测试')
3、Alter Sequence
拥有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create。
4、Drop Sequence
DROP SEQUENCE seqTest
5、一个例子
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
开通其中2张表的查询权限,方法如下:
grant select on bas_checkcycle to jdc这个是整个语句。
语句分析:
grant select on bas_checkcycle to jdc;
这个颜色为执行语句。
这个颜色是数据表。
这个颜色是用户;就是需要权限的用户。
下面这个是查看,更新,删除,增加的权限都开启。
grant select,update,delete,insert on UserTagPool to [app_webservice]
grant select,update,delete,insert on UserTagPoolMap to [app_webservice]
扩展资料
Oracle权限管理
权限分类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)