永发信息网

哪位大侠帮忙写个oracle触发器

答案:4  悬赏:50  手机版
解决时间 2021-08-19 13:40
  • 提问者网友:你给我的爱
  • 2021-08-18 21:08
create table yonghu
(
  yid int not null,
  yname varchar2(20) not null,
  ypwd varchar2(20) not null
)
create sequence yonghu_xulie
start with 1
increment by 1
在插入数据的时候这张表的yid会自动增长!可以用触发器调用它的序列在插入数据的时候实现自增长
最佳答案
  • 五星知识达人网友:怀裏藏嬌
  • 2021-08-18 22:34

也就是说*和++是按从右至左的顺序执行


p先++,再* : 先把p地址向下一位(地址+1),再取此地址上的值


"" *(p++)是先调用*P再将p加1呢 ""这个有问题吧?


是否是""(*p)++"",这个是先*,取地址值,再将值+1 "


"Create or replace trigger tr_yonghu


Before insert


On yonghu


for each row


declare v_next int;


Begin


  select yonghu_xulie.nextval into v_next from dual;


  :new.yid := v_next;


End;

全部回答
  • 1楼网友:舊物识亽
  • 2021-08-19 01:39
*和++是按从右至左的顺序执行
  • 2楼网友:举杯邀酒敬孤独
  • 2021-08-19 00:12
得专业人士才知道吧
  • 3楼网友:醉吻情书
  • 2021-08-18 23:24
我自已写的并在PL/SQL 上运行通过,很累的,望采那。 create sequence yonghu_xulie start with 1 increment by 1 minvalue 1 maxvalue 100000 cache 3 cycle; create table yonghu (   yid int not null,   yname varchar2(20) not null,   ypwd varchar2(20) not null ); create or replace trigger yonghuTri before insert on yonghu for each row begin select  yonghu_xulie.nextval into:new.yid from dual; end;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯