oracle的问题!!!!!!!!!!

CSDN_HSB 2001-11-28 10:08:18
我现在有一张表,表中想有个自动增加的识别列,我用的是rowid数据类型,但是在插入数据时出现了问题,这个列不可以空,那样插入什么样的数据呢?是不是可以在默认值中填上什么系统代的函数什么的?
...全文
140 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mashansj 2001-11-28
  • 打赏
  • 举报
回复
create sequence seq_a increment by 1;

create trigger trg_a
before insert on a
for each roe
begin
select seq_a.nextval into :new.column_a from dual;
end;
IronPromises 2001-11-28
  • 打赏
  • 举报
回复
36461918
不常用
CSDN_HSB 2001-11-28
  • 打赏
  • 举报
回复
谢谢,我在想,如果能用默认值的话,就更简单了,对了,oracle高手能不能留下qq号,互相交流一下!
KingSunSha 2001-11-28
  • 打赏
  • 举报
回复
那就用TRRIGER吧

CREATE TRRIGER TRG_A
BEFORE INSERT ON A
FOR EACH ROW
BEGIN
SELECT SEQ_A.NEXTVAL INTO :NEW.A1 FROM DUAL;
END;

那你在添加纪录的时候就不需要指定这个列的值了,TRIGGER自动会取SEQ_A.NEXTVAL
INSERT INTO A (A2) VALUES ('HELLO');
MountLion 2001-11-28
  • 打赏
  • 举报
回复
自动增加的识别列,那也用不着rowid类型啊,累都要累死
CSDN_HSB 2001-11-28
  • 打赏
  • 举报
回复
谢谢!!!!!!!!!!!!!!IronPromises(铁诺) 
我还想问一下,能不能在这一列的缺省值中把这个seq_a.nextval加进去呢????
IronPromises 2001-11-28
  • 打赏
  • 举报
回复
Oracle:

create table a
(
a1 int ,
a2 varchar2(6)
);

create SEQUENCE seq_a INCREMENT BY 1;

然后在insert时:
insert into a values(seq_a.nextval,'hello!'); --seq_a.nextval是该序列的下个值
CSDN_HSB 2001-11-28
  • 打赏
  • 举报
回复
anyisb(小baby)你好,
  能不能具体点,我是oracle的初学者,在序列表生器在那里写呢? 
anyisb 2001-11-28
  • 打赏
  • 举报
回复
用序列发生器
create sequence aaa increment by 1;

2,598

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧