oracle 及时显示触发器更新字段的值(100分)

  • 主题发起人 主题发起人 jxj
  • 开始时间 开始时间
J

jxj

Unregistered / Unconfirmed
GUEST, unregistred user!
模仿MS SQL 的自动增加ID 字段,写了触发器。触发器能够自动增加ID字段的值。但是在
在程序界面里增加一条记录后,ID字段只显示0需要刷新数据后才显示正确的ID值,能不能
在增加新记录后直接正确显示ID的值呢?
 
啊,在oracle中你用触发器来实现自增字段??,oracle中应该用序列才对啊!
create sequence 你的序列
increment by 1
start with 1
nomaxvalue
nocycle;

要引用时,insert into abcd values(你的序列.nextval,...);
 
同意honghs,补充一点:
create sequence 序列名
increment by 1 //问隔
start with 1 //起始点
maxvalue 9999999 //最大值
cycle; //在达到maxvalue后,它会重新开始序列号
Insert into 表名 values(序列名.nextval,fields1...);
若中途删掉中间或最末某笔,其值仍以原值递增,不会以现值递值。即删掉就删掉了,中间
就空着了,不知谁知道序列号有没有法子,能不能重新组合?
 
"不知谁知道序列号有没有法子,能不能重新组合",门都没有,你如果还要维护一个中间不能为空的
序列号的话,你知道要对多少记录进行修改。如果你只有一个表那可能没关系,如果有了多个表,而且还关联着的。死了这条心吧
 
简单点提问:ADO MS SQL7 里有AUTOINC字段,如果新记录保存后此字段值自动显示。
ORACLE用了存储过程,只是将值赋予了数据库中的字段,而界面需REFRESH后才能显示,我想
让它一保存后直接将值显示。
 
id字段也要显示出来?好象没这种必要吧?要不用个笨方法,另搞个id号的库,你的要显示出来id的库
就不要搞自增字段了,然后从那个id号库中取一个id号出来,插入到想显示id号的库中
 
多人接受答案了。
 
后退
顶部