如何在oracle触发器中创建序列
2个回答
展开全部
一般在sqlplus或者其他第三方oracle工具中,按照语法及需求写好代码,直接执行创建过程即可。
一般语法如下:
create [or replace] trigger trigger_name
{before | after }
{insert | delete | update [of column [, column …]]}
[or {insert | delete | update [of column [, column …]]}...]
on [schema.]table_name | [schema.]view_name
[referencing {old [as] old | new [as] new| parent as parent}]
[for each row ]
[when condition]
pl/sql_block | call procedure_name;
一般语法如下:
create [or replace] trigger trigger_name
{before | after }
{insert | delete | update [of column [, column …]]}
[or {insert | delete | update [of column [, column …]]}...]
on [schema.]table_name | [schema.]view_name
[referencing {old [as] old | new [as] new| parent as parent}]
[for each row ]
[when condition]
pl/sql_block | call procedure_name;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一步,创建序列
create
sequence
seq_style
INCREMENT
BY
1
--
每次加的个数据
START
WITH
1
--
从1开始计数
NOMAXVALUE
--
不设置最大值
NOCYCLE
--
一直累加,不循环
noCACHE;
第二步,创建触发器
create
or
replace
trigger
style_insert
before
insert
on
style
for
each
row
begin
select
seq_style.nextval
into
:new.id
from
dual;
end;
不知道你为哪个字段创建自增序列,你把:new.id里的那个id换成你表里字段名,其他不用改
create
sequence
seq_style
INCREMENT
BY
1
--
每次加的个数据
START
WITH
1
--
从1开始计数
NOMAXVALUE
--
不设置最大值
NOCYCLE
--
一直累加,不循环
noCACHE;
第二步,创建触发器
create
or
replace
trigger
style_insert
before
insert
on
style
for
each
row
begin
select
seq_style.nextval
into
:new.id
from
dual;
end;
不知道你为哪个字段创建自增序列,你把:new.id里的那个id换成你表里字段名,其他不用改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询