- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章_3 oracle_触发器
序列(SEQUENCE)是一个命名的顺序编号生成器,它能以串行的方式生成一系列顺序整数 序列不占用实际的存储空间,而只在数据字典中保存序列的定义 引入序列的理由或序列的主要用途:流水号应用需求 序列能生成最大38位的整数 序列 序列的定义 CREATE SEQUENCE sequnce_name [START WITH n1] [INCREMENT BY n2] [{MAXVALUE n3 | NOMAXVALUE}] [{MINVALUE n4 | NOMINVALUE}] [{CACHE n5 | NOCACHE}] [{CYCLE | NOCYCLE}] [ORDER]; 参数 说明 START WITH 指定要生成的第一个序列号 INCREMENT BY 用于指定序列号之间的间隔,默认值为1 MAXVALUE 指定序列可以生成的最大值 NOMAXVALUE 用于指定序列没有上限 MINVALUE 指定序列可以生成的最小值 NOMINVALUE 用于指定序列没有下限 CACHE 用于指定在高速缓存中可以预分配的序列号个数,默认为20 NOCACHE 用于指定在高速缓存中不预先分配序列号 CYCLE 用于指定在达到序列的最大值或最小值后是否循环 ORDER 用于指定按顺序生成序列号 Create SEQUENCE SEQ_ID MINVALUE 1 MAXVALUE 1.0E28 Start With 1 INCREMENT By 1 CACHE 20; 示例:创建一个序列SEQ_ID 序列的查看 序列的使用 XKLB(XKLBLSH,FXKLBBH,XKLBBH,XKLBMC,FLJB) 学科类别流水号 方法一:通过INSERT语句直接使用 INSERT INTO XKLB(XKLBLSH,FXKLBBH,XLLBBH,XKLBMC,FLJB) VALUES (SEQ_ID.Nextval,NULL,’110’,’数学’,1) 序列的使用 方法二:配合触发器 Create or Replace Trigger tri_xklb_id Before Insert On XKLB For Each Row Begin Select SEQ_ID.Nextval Into :new.XKLBLSH From DUAL; End; CREATE TABLE audit_table (Audit_id NUMBER, User_name VARCHAR2(20), Now_time DATE, Terminal_name VARCHAR2(20), Table_name VARCHAR2(10), Action_name VARCHAR2(10), prof_id CHAR(4) ); 示例:将prof 表的变化情况记录到AUDIT_TABLE和AUDIT_TABLE_VALUES中。 审计 CREATE TABLE audit_table_values (Audit_id NUMBER, Column_name VARCHAR2(10), Old_val VARCHAR2(10), New_val VARCHAR2(10) ); CREATE SEQUENCE audit_seq START WITH 1000 INCREMENT BY 1 NOMAXVALUE NOCYCLE NOCACHE; CREATE OR REPLACE TRIGGER audit_prof AFTER INSERT OR UPDATE OR DELETE ON prof FOR EACH ROW DECLARE Time_now DATE; Terminal CHAR(20); BEGIN Time_now:=sysdate; Terminal:=USERENV(TERMINAL); IF INSERTING THEN INSERT INTO audit_table VALUES(audit_seq.NEXTVAL,user,time_now, terminal,prof,INSERT,:new.P#); ELSIF DELETING THEN INSERT INTO audit_table VALUES(audit_seq.NEXTVAL,user,time_now, terminal,prof,D
您可能关注的文档
- 第7章 AT89C51单片机 扩展存储器设计2012.11.ppt
- 第7章 《算法分析与设计》 随机化算法.ppt
- 第7章 VHDL有限状态机设计N.ppt
- 第6课漂亮是否美术鉴赏的唯一标准.pptx
- 第7章 分配网络.ppt
- 第7章 Office基础20131204.ppt
- 第7章 Simulink命令行仿真技术.ppt
- 第7章 刚体力学2.ppt
- 第7章 不定形耐火材料.ppt
- 第7章 数据结构——图.ppt
- 语文-广东省肇庆市2025届高三第二次模拟试卷和答案(肇庆二模).docx
- 中国通信行业运行情况月度报告(2024年1-11月).pdf
- 2024年中国新能源汽车行业全球竞争力分析与各国进口贸易法规影响白皮书-特易资讯.pdf
- 热电“三保”与碳排双控.pdf
- 数据中心行业分析报告 2025.pdf
- 【灼鼎咨询】2024年自动驾驶行业知识报告(智能驾驶、新能源汽车、NOA).pdf
- 政治-江苏省苏州市2024-2025学年2025届高三第一学期学业期末质量阳光指标调研卷试题和答案.docx
- 政治-广东省东莞市、揭阳市、韶关市2025届高三期末教学质量检查试题和答案.docx
- 自适应物理安全与信息安全系统 -智能制造的动态安全方法 2025.pdf
- 【国联证券】通信行业专题研究:Marvell AI day,算力需求推动光互联加速迭代.pdf
文档评论(0)