Oracle创建触发器
2009-12-17 10:55
489 查看
今天在百度上搜索了下oracle写的触发器,感觉还可以。
就收藏咯。
用户表:创建触发器之前首先要创建序列
用户表序列:
create sequence users_seq;
用户表触发器:
create or replace trigger bifer_users_userid_pk
before insert
on users
for each row
begin
select users_seq.nextval into:new.userid from dual;
end;
/
商品表:
商品表序列:create sequence product_seq;
商品表触发器:
create or replace trigger bifer_product_itemid_pk
before insert
on product
for each row
begin
select product_seq.nextval into:new.itemid from dual;
end;
/
商品品牌表:
商品品牌表序列:create sequence brand_seq;
商品品牌表触发器:
create or replace trigger bifer_brand_brandid_pk
before insert
on brand
for each row
begin
select brand_seq.nextval into:new.brandid from dual;
end;
/
商品类别表:
商品表序列:create sequence class_seq;
商品表触发器:
create or replace trigger bifer_class_classid_pk
before insert
on class
for each row
begin
select class_seq.nextval into:new.classid from dual;
end;
/
一个触发器只能用于一个表,而一个表可以有最多三个触发器,商品品牌类别表是复合主键所以就为商品表建了两个触发器分贝作用于每个主键
商品品牌类别表:
商品品牌类别序列:create sequence brand_class_seq;
商品品牌类别触发器(brandid):
create or replace trigger brand_class_brandid_pk
before insert
on brand_class
for each row
begin
select brand_class_seq.nextval into:new.brandid from dual;
end;
/
商品品牌类别触发器(classid):
create or replace trigger brand_class_classid_pk
before insert
on brand_class
for each row
begin
select brand_class_seq.nextval into:new.classid from dual;
end;
/
在oracle中,为了方便常常用触发器及序列结合起来实现
先建表、再建序列、然后是触发器,最后测试
=============================================
create table foo(
id number primary key,
data varchar2(100));
create sequence foo_seq;
create or replace trigger bifer_foo_id_pk
before insert
on foo
for each row
begin
select foo_seq.nextval into :new.id from dual;
end;
/
insert into foo(data)
values('Chirstopher');
insert into foo(id,data)
values(5,'Sean');
select * from foo;
就收藏咯。
用户表:创建触发器之前首先要创建序列
用户表序列:
create sequence users_seq;
用户表触发器:
create or replace trigger bifer_users_userid_pk
before insert
on users
for each row
begin
select users_seq.nextval into:new.userid from dual;
end;
/
商品表:
商品表序列:create sequence product_seq;
商品表触发器:
create or replace trigger bifer_product_itemid_pk
before insert
on product
for each row
begin
select product_seq.nextval into:new.itemid from dual;
end;
/
商品品牌表:
商品品牌表序列:create sequence brand_seq;
商品品牌表触发器:
create or replace trigger bifer_brand_brandid_pk
before insert
on brand
for each row
begin
select brand_seq.nextval into:new.brandid from dual;
end;
/
商品类别表:
商品表序列:create sequence class_seq;
商品表触发器:
create or replace trigger bifer_class_classid_pk
before insert
on class
for each row
begin
select class_seq.nextval into:new.classid from dual;
end;
/
一个触发器只能用于一个表,而一个表可以有最多三个触发器,商品品牌类别表是复合主键所以就为商品表建了两个触发器分贝作用于每个主键
商品品牌类别表:
商品品牌类别序列:create sequence brand_class_seq;
商品品牌类别触发器(brandid):
create or replace trigger brand_class_brandid_pk
before insert
on brand_class
for each row
begin
select brand_class_seq.nextval into:new.brandid from dual;
end;
/
商品品牌类别触发器(classid):
create or replace trigger brand_class_classid_pk
before insert
on brand_class
for each row
begin
select brand_class_seq.nextval into:new.classid from dual;
end;
/
在oracle中,为了方便常常用触发器及序列结合起来实现
先建表、再建序列、然后是触发器,最后测试
=============================================
create table foo(
id number primary key,
data varchar2(100));
create sequence foo_seq;
create or replace trigger bifer_foo_id_pk
before insert
on foo
for each row
begin
select foo_seq.nextval into :new.id from dual;
end;
/
insert into foo(data)
values('Chirstopher');
insert into foo(id,data)
values(5,'Sean');
select * from foo;
相关文章推荐
- Oracle中创建表,行级触发器,序列
- Oracle创建触发器
- Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器,提交
- 对oracle当中子查询建表,merge操作,创建,修改,删除约束,创建使用触发器的复习练习
- Oracle创建简单的触发器练习
- Oracle 触发器和序列的创建和使用 (自动增长列)
- 在Oracle中创建跟踪客户端IP地址的触发器
- Oracle创建序列,触发器使表自增
- Oracle创建主键自增表(sql语句实现)及触发器应用
- [DB][ORACLE]触发器创建实例
- Oracle 触发器和序列的创建和使用 (自动增长列)
- oracle创建触发器的脚本在sqlplus中执行不了问题的解决
- Oracle动态创建序列和触发器生成键
- oracle创建自动增长列、触发器
- oracle - 使用触发器创建自增列
- oracle创建触发器调用含参数存储过程
- Oracle创建禁止DDL的触发器
- Oracle创建触发器的时候因为大小写编译出错
- Oracle创建触发器
- Oracle 存储过程的创建,及触发器调用存储过程