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
首先去下载oracleclient客户端工具
小编这里已经下载的有了,目录结构如下所示
打开PLSQL,点取消进去,然后d出PLSQL主界面,找到菜单栏的tools选择属性preferences进去
请点击输入图片描述
请点击输入图片描述
请点击输入图片描述
d出如下界面,配置oracleclient
配置好两个设置项,点apply,然后点ok,关闭PLSQL,重启PLSQL
请点击输入图片描述
上边的两个填写项就是第一步中的目录,以及目录下的一个文件
如下图所示,在哪个目录就对应的去找就可以了。
请点击输入图片描述
重启PLSQL进入到登录界面,输入相关信息,用户名密码,以及连接信息
连接信息:可以是ip:1521/实例名
也可以是network/admin目录下的tnsname.ora中配置的TNS别名。
请点击输入图片描述
连接进去成功之后
可以随便写一个语句查查,是否正常
select * from dual
请点击输入图片描述
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)