高分求助:Oracle库的问题
来源:百度知道 编辑:UC知道 时间:2024/06/23 08:37:28
ALTER PROCEDURE dbo.GetTopNews
(
@NewsKindID int,
@IntTop int
)
AS
declare @sql varchar(200)
set @sql='select top '+cast(@IntTop as varchar)+' * from News where NewsKindId='+cast(@NewsKindId as varchar)
exec @sql
RETURN
以上是Sql Server的一个存储过程:查询News表中某新闻类别中的前n条记录.
我想求助的是,这个存储过程用Oracle库该怎么写?????还有一个小环节,Oracle中的SQL语句似乎没有像Sql Server中的"top"关键字?!
(
@NewsKindID int,
@IntTop int
)
AS
declare @sql varchar(200)
set @sql='select top '+cast(@IntTop as varchar)+' * from News where NewsKindId='+cast(@NewsKindId as varchar)
exec @sql
RETURN
以上是Sql Server的一个存储过程:查询News表中某新闻类别中的前n条记录.
我想求助的是,这个存储过程用Oracle库该怎么写?????还有一个小环节,Oracle中的SQL语句似乎没有像Sql Server中的"top"关键字?!
看看
create or replace procedure GetTopNews
(
NewsKindID number,
IntTop number
)
is
stmt varchar(200):= 'select * from News '||
' where NewsKindId=:1 '||
' and rownum<:2 ';
begin
execute immediate stmt using NewsKindID,IntTop;
end GetTopNews ;
在where里面加rownum<5(你的传入参数是多少就是多少)
where rownum< n
ORACLE中是以ROWNUM来取前N条的