问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle中触发器实现序列自增

发布网友 发布时间:2022-04-08 07:11

我来回答

5个回答

懂视网 时间:2022-04-08 11:32

/ MINVALUE n | NOMAXVALUE}] //n序列的最大值或最小值 [{CYCLE | NOCYCLE}] //序列达到最大值时是否循环 [{CACHE n | NOCACHE}]; //定义序列内存块大小

   INCREMENT BY       用于定义序列的步长,如果省略,则默认为1,如果出现负值,则代表序列的值是按照此步长递减的。

   START WITH          定义序列的初始值(即产生的第一个值),默认为1。

   MAXVALUE             定义序列的最大值。选项NOMAXVALUE是默认选项,代表没有最大值定义,对于递增序列,系统最大值是10的27次方;对于递减序列,最大值是-1。

   MINVALUE              定义序列的最小值。选项NOMAXVALUE是默认选项,代表没有最小值定义,对于递减序列,系统最小值是10的26次方;对于递增序列,最小值是1。

   CYCLE和NOCYCLE   表示当序列值达到限制值后是否循环。CYCLE代表循环,NOCYCLE代表不循环。如果不循环,达到限制值后,继续产生新值就会发生错误。

   CACHE和NOCACHE  定义存放序列的内存块的大小,默认为20。NOCACHE表示不对序列进行内存缓冲。对序列进行内存缓冲,可以改善序列的性能

建名为"SEQ_IP"的序列实例:
create sequence SEQ_IP
increment by 1
start with 1
minvalue 1 nomaxvalue
nocycle;

 

    2,删除序列

删除序列的语法是:
DROP SEQUENCE name //name为序列名

  

二、触发器

     触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,触发器与存储过程 的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的。

触发器语法格式为:

CREATE [OR REPLACE] TIGGER 触发器名
 触发时间
 触发事件
ON 表名
[FOR EACH ROW]
BEGIN
 pl/sql语句
END

     触发器名:触发器对象的名称,由于触发器是自动执行的,因此该名称只是一个名称,没有实质的用途。

     触发时间:指明触发器何时执行,该值可取:

                   before---表示在数据库动作之前触发器执行;

                    after---表示在数据库动作之后出发器执行。

     触发事件:指明哪些数据库动作会触发此触发器:                        

                   例如:insert:数据库插入会触发此触发器; 

创建触发器实例:

create or replace trigger TGR_TABLE_IP  //TGR_TABLE_IP为触发器名
 before insert     //指插入表前启动触发器
 on tIP      //tIP为表名
 for each row     //每行执行此操作
begin
 if inserting and :new.FID is null then
 :new.FID := SEQ_IP.nextval;  //SEQ_IP为序列名
 end if; 
end TGR_TABLE_IP;

 注:当连续创建多个触发器时,使用 / 分隔

Oracle序列和触发器的使用

标签:

热心网友 时间:2022-04-08 08:40

Oracle8i中存储过程的类型

Oracle8i支持的存储过程类型有几种?Oracle8i 支持四种不同类型的存储过程用PL/SQL或Java,都可以实现全部四种类型的存储过程。这四种存储过程类型是:

存储过程顶级存储过程允许客户用任意商业逻辑扩展SQL。客户用名称调用存储过程,可以在SQL、PL/SQL包、以及“顶级”位置上调用存储过程。

存储函数存储函数实质上与存储过程相同,不同之处在于存储函数向调用者返回值。可以用名称调用存储函数,也可以在SQL、PL/SQL包、以及“顶级”位置上调用存储函数。

数据库触发器:触发器是与特定的表和视图关联的商业规则,修改对表或视图时,SQL自动调用触发器。Oracle8i 提供了几种类型的触发器:在SQLDML语句执行之前或之后激发的触发器;在每一行更新之前或之后激发的触发器;事件触发器(例如:登录、退出、DDL语句、数据库启动或关闭等的触发器);替代(instead-of)触发器。所有这些触发器类型,都可以用PL/SQL或Java编写。

对象类型方法 Oracle8 ™ 发行版8.0和Oracle8i提供了用SQL定义复合数据类型的能力。这些对象类型的方法,可以用Java实现,也可用PL/SQL实现。例如,可以用SQL定义一个订单对象类型purchase_order_t,如下所示:

参考资料:http://www.jacken.com.cn/Database/Oracle/

热心网友 时间:2022-04-08 09:58

1.CREATE SEQUENCE toys_seq--//创建一个sequence
INCREMENT BY 1 --// 每次加几个
START WITH 1 -- //从1开始计数
NOMAXVALUE -- //不设置最大值
NOCYCLE -- //一直累加,不循环
CACHE 10;

2.在插入数据时 INSERT into testTable values(toys_seq.NEXTVAL,'asd','mail');

是这个意思不???

热心网友 时间:2022-04-08 11:33

CREATE TRIGGER TRGname
BEFORE INSERT ON table_name
REFERENCING
NEW AS :NEW
FOR EACH ROW
Begin
SELECT SEQname.NEXTVAL
INTO :NEW.FIELDname
FROM DUAL;
End;

自己改下触发器名、表名、序列名

热心网友 时间:2022-04-08 13:24

insert into test values(toys_seq.nextval,name,sex)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
步步高学习机@iboxH2 H2学习机的屏幕大小? 6-7万左右纯电 女生想买台便宜的小车在城市代步,有什么好推荐?电动车最好? 河南德盛智能环保科技有限公司怎么样? 深圳市德盛铭电科技有限公司怎么样? pvc防水门生产厂家哪个好呢? 晋江市德顺陶瓷建材有限公司简介 酒店家具厂家 梨子酿酒最简单的方法 用老毛桃制作启动U盘后,能不能恢复原来的U盘空间? 用了*桃后U盘容量减少 据说是U盘系统文件 但是格式化后还是没有恢复 如何恢复U盘容量啊 急急急急~!! U盘用老毛桃做成了启动盘,那如何再回归成普通U盘? 我用*桃U盘启动盘制作工具V110828制作后,想还原空间,点归还U盘空间,显示成功,可没有用…… .你好,请问安装过老毛桃的U盘如何找回原来占用的容量 炖牛肉做法正宗 捷安特continuum 7码表里面的DST,RTM,ALM,ODO,CAL分别是什么啊?知道车轮周长在码表里面该如何设置吗? cateye+velo+wireless++设置 13年奔驰C旅行电脑板在哪里? 全新奔驰C级官图首曝 将于2月23日全球首发 怎么把电视上的节目录制下来 求:自行车码表cateye VELO8详细调节步骤 请问这种CATEYE码表怎么设置?只有后面一个白色的按键,老款,试了很多种方法,数值一直设置不了 要去电视台录节目,怎么化妆,穿衣服? cateye+commuter自行车码表怎么设置- 问一问 聂诗演过哪些电视剧 《快乐大本营》户外录制节目,这是《快乐大本营》第一次在户外录制吗? 胆战心惊的近义词,恼羞成怒的反义词 胆战心惊的反义词 心惊胆寒的反义词 老毛桃winpe u盘版安装后 怎么卸载,官网下的 想把*桃制作的启动U盘还原,但是可能U盘的winpe系统文件损坏了.*桃不能归还U盘空间,怎么办 用老毛桃做了个u盘启动盘,现在不想用了,怎样恢复原来u盘的容量? 老毛桃制成U盘驱动后不能格式化了,内存显示为0?怎么办? 老毛桃U盘装系统怎么把内存卡变小了,怎么能恢复内存的空间 用完老毛桃做u盘启动U盘实际大小被改变了如何恢复? 移动U盘用老毛桃装过系统格式化了仍然占内存怎么恢复内存 制作好的老毛桃U盘怎么把它删除 用U盘做系统启动盘后减少的存储空间怎么恢复 被老毛桃弄过的u盘还能复原吗?我格式化都不行啊 为什么我的U盘格式化后还有PE启动工具怎么解决啊? 使用老毛桃后,U盘空间少了很多。 为什么我电脑上的EXCEL卸载不了? excel服务器2008怎么完全卸载 请教各位EXCEL 要如何卸掉并重新安装?? 怎样把电脑里的excel删除 东莞寮步哪里有兔子肉卖? 深圳蛇口在哪买兔子肉? dnf怎么退出人脸安全模式 淄博张店哪里有卖兔子肉的?