易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 触发器,序列用途

 1、创建表t1 :create table t1 (id number,name nvarchar(8));
2、创建序列 :CREATE SEQUENCE t1_id INCREMENT BY 1 START WITH 1 MAXVALUE
1.0E28 MINVALUE 1 NOCYCLE CACHE 20 NOORDER
3. 创建触发器 :
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;
Oracle触发器语法
触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,触发器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的。
功能:
1、 允许/限制对表的修改
2、 自动生成派生列,比如自增字段
3、 强制数据一致性
4、 提供审计和日志记录
5、 防止无效的事务处理
6、 启用复杂的业务逻辑
触发器触发时间有两种:after和before。
1、触发器的语法:
CREATE [OR REPLACE] TIGGER触发器名 触发时间 触发事件
ON表名
[FOR EACH ROW]
BEGIN
pl/sql语句
END
其中:
触发器名:触发器对象的名称。
由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。
触发时间:指明触发器何时执行,该值可取:
before---表示在数据库动作之前触发器执行;
after---表示在数据库动作之后出发器执行。
触发事件:指明哪些数据库动作会触发此触发器:                        
insert:数据库插入会触发此触发器;
让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
   SELECT SEQ_cata0.NEXTVAL
     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


相关文档:

关于ORACLE数据库中权限和角色的探索

Oracle数据库是一种大型关系型的数据库,我们知道当使用一个数据库时,仅仅能够控制哪些人可以访问数据库,哪些人不能访问数据库是无法满足数据库访问控制的。DBA需要通过一种机制来限制用户可以做什么,不能做什么,这在Oracle中可以通过为用户设置权限来实现。权限就是用户可以执行某种操作的权利。而角色是为了方便DBA管 ......

Oracle 触发器

 
create table emp2_log(
 uname varchar2(20),
 action varchar(10),
 atime date
);
create or replace trigger trig
   after insert or delete or update on emp2 for each row  //绑在一张表上,before after 都可
以,before是 插数据之前,after是之后
begin
 &nb ......

Virtual Columns in Oracle Database 11g

When queried, virtual columns appear to be normal table columns, but
their values are derived rather than being stored on disc. The syntax
for defining a virtual column is listed below.
column_name [datatype] [GENERATED ALWAYS] AS (expression) [VIRTUAL]
If the datatype is omitted, it is determin ......

Oracle Form開發(4)

上節學習開第一個Form,這個節在添加一個彈出下拉框
第一步:添加記錄組
1.1  選中Record Groups
1.2  單擊Create
1.3  輸入查詢SQL
1.4  單擊OK
1.5  修改 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号