如何把Oracle的ID字段设成自动加1,mssql里有这个功能的 (100分)

  • 主题发起人 主题发起人 wukw
  • 开始时间 开始时间
W

wukw

Unregistered / Unconfirmed
GUEST, unregistred user!
如何把Oracle的ID字段设成自动加1,mssql里有这个功能的
最好给出设置步骤,或者Create语句,谢谢~~~
 
可以建一个序列,在触发器中手动选择添加
 
有没有简单一点的办法啊??这个问题在ms sql里是个弱智问题。
 
怎样在Oracle中实现类似MS SQL Server中的 TOP(返回结果集的前n行)功能?

这是两个关于Oracle的问题,希望高手帮忙: (版本:Oracle 8i)
1.怎样在Oracle中实现类似MS SQL Server中的 TOP(返回结果集的前n行)功能?
即如何在Oracle中的Select语句中返回结果集的前n行,有类似MS SQL 的TOP语句吗?
2.怎样在Oracle中的Select语句中为每条记录加一个递增的编号? 和MS SQL中的功能类似,只在显示的时候有这个编号.


用rownum就可以了,比如
strselect="select * from fee_detail where rownum<1500"


>Create Sequence CustomerID increment by 1 start with 1000;

>Insert Into CUSTOMER(Name, Contact, ID)
Values('COLE CONSTRUCTION', 'VERONICA', CustomerID.NextVal)
如果插入的是第一条,则用CustomerID.CurrVal


create sequence auto increment by 1 start with 1000;

BEGIN
--EXECUTE IMMEDIATE 'create sequence auto increment by 1 start with 1000;';
EXECUTE IMMEDIATE 'update "fylogs" set "log_no"=image.auto.nextval';
END;


类似SqlServer的自增长id,在添加新记录的时候自动将该字段值填充
我建立了Sequence,然后用Trigger来实现该功能
可是试了很多次都总是失败,该怎么写Trigger呢?
有知道的朋友请回复,请写出具体trigger的create语句,多谢了~

附:
先建Sequence
create Sequence SeqBbs increment by 1
start with 1

下面是Trigger
create trigger Tr_ID
before Insert
on Table
begin
insert into Table(F_Id) values(sqlbbs.nextval);
end;
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部