在sql查询中使用表变量实现上一条下一条记录

ExpandedBlockStart.gif 代码
SET  ANSI_NULLS  ON
GO
SET  QUOTED_IDENTIFIER  ON
GO
--  =============================================
--
 Author:        <Author,,Name>
--
 Create date: <Create Date,,>
--
 Description:    <Description,,>
--
 =============================================
alter   PROCEDURE   [ dbo ] .PROG_Order_Main_GetNextPre
@OrderID   nvarchar ( 30 ),
@type   int
AS
BEGIN     
    
declare
    
        
@result   table (
            id 
int   identity ( 1 , 1 ),
            OrderID 
nvarchar ( 30 not   null
        )
    
declare
        
@select   nvarchar ( 400 ),
        
@id   int
    
insert   into   @result   select  OrderID  from  dbo.Order_Main  order   by  AddTime  desc
    
-- 1上一条
     -- 2下一条
     select   @id = id  from   @result   where  OrderID = @OrderID
    
if ( @type = 1 )
        
set   @id = @id - 1
    
else     
        
set   @id = @id + 1
    
select  OrderID,AddTime,OrderType,Price_order  from  Order_Main  where  OrderID = ( select  OrderID  from   @result   where  id = @id )
END
GO

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值