1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

Oracle触发器创建及其功能介绍

2022-11-24 | 数据库 | admin | 547°c
A+ A-

通过学习,我们大家对创建c创建Oracle序列都比较熟悉了,今天我们主要介绍的是如何创建Oracle触发器,同时介绍了Oracle触发器的功能、语法,而且通过具体的例子可以让大家更深入的掌握。

1.创建表t1 :create table t1 (id number,name nvarchar(8));

2.创建Oracle序列 :CREATE SEQUENCE t1_id INCREMENT BY 1 START WITH 1 MAXVALUE

3.创建Oracle触发器 : CREATE TRIGGER tig_insert_t1 BEFORE INSERT ON “YINZQ”.”T1″ begin if (:new.id is null) then select t1_id.nextval into :new.id from dual; //其中的:new.id 指的是t1表中新行的列 end if; end;

4.Oracle触发器功能 触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,触发器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的。 功能: 1)允许/限制对表的修改 2)自动生成派生列,比如自增字段 3)强制数据一致性 4)提供审计和日志记录 5)防止无效的事务处理 6)启用复杂的业务逻辑

5.触发器触发使用有两种:after和before。

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

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

2)触发时间:指明触发器何时执行,该值可取: before—表示在数据库动作之前触发器执行; after—表示在数据库动作之后出发器执行。

3)触发事件:指明哪些数据库动作会触发此触发器: insert:数据库插入会触发此触发器;

举例说明:让Oracle实现自增字段 步骤:先建序列,然后建立一个Oracle触发器实现! cata0是表名,cata0_id是需要自增的字段! CREATE SEQUENCE SEQ_cata0 INCREMENT BY 1 START WITH 1 MAXVALUE 9999999 CREATE TRIGGER TRG_cata0 BEFORE INSERT ON cata0 FOR EACH ROW begin INTO :NEW.cata0_ID from DUAL; End TRG_cata0; /****@PARAM STNAME 不要创建序列的表,多个表则以“,”隔开**/ CREATE OR REPLACE PROCEDURE PROC_CREATE_SEQ_TRIG(STNAME IN VARCHAR2) AS STRSQL VARCHAR2(4000); TABLENAME VARCHAR2(50); PID VARC ……

本文来源:1818IP

本文地址:https://www.1818ip.com/post/11349.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。