怎样在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;