查询存储过程

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

 
 
-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
--QN_GOODS_ADJUST_LIST 1,'grsssss',',15,1,'
-- =============================================  
ALTER PROCEDURE [dbo].[QN_GOODS_ADJUST_LIST]  
 @UserID int,      
 @Parastr varchar(1000) = '',            
 @WebPara varchar(100)=''      
AS  
BEGIN  
   
 SET NOCOUNT ON;  
  declare @rid int
  declare @ptype int      
  declare @spelltype int --输入法类型       
  -- 获取操作者的关联信息      
  select @rid = rid,  @ptype = p_type      
   from person       
   where p_lsm = @userid   
 
create table #ts       
   ( sortid int  identity(1,1)
 ,DATAKEY INT      
 ,GAID int  
 ,GAGoodsID varchar(100)   
 ,GAProvider varchar(100)  
 ,GACustomer varchar(100)
 ,[State] varchar(10)  
)  
 declare @outstr varchar(100)      
 declare @gcode varchar(100)      
 declare @gtype int       
          
 exec v6_popfirstword @Parastr output, @outstr output      
 set @gcode=@outStr       
 set @gtype=dbo.Pub_GetCodeType(@gcode)      
 declare @sql varchar(1000)      
 set @sql = ' insert #ts (
 datakey    
 ,GAID  
 ,GAGoodsID  
 ,GAProvider   
 ,GACustomer
 ,State
  )  
 select  
  a.GAID as datakey
 ,a.GAID
 ,b.goodsname --GAGoodsID  
 ,c.corpname --GAProvider  
 ,d.corpname --GACustomer   
 ,case State when 1 then ''是'' else ''否'' end  State
 from DPV_GOODSADJUST a inner join bdo_goods b
 on a.gagoodsid = b.goodsid
 inner join BDO_CORPORATION c
 on a.gaprovider = c.corpid
 inner join BDO_CORPORATION d
 on d.corpid = a.GACustomer
 where 1=1 '  
       
 declare @clause varchar(300)      
 set @clause=''      
-- if @gtype=2      
--  set @clause=@clause+' and a.spell like ''%'+@gcode+'%'''      
-- else
 if @gtype=3      
  set @clause=@clause+' and b.GoodsName like ''%'+@gcode+'%'''     
 else if @gtype=2     
    set @clause=@clause+' and b.SpellCode like ''%'+@gcode+'%'''      
       
       
  set @sql = @sql + @clause       
  declare @sortstr varchar(100)          
  declare @pagenum int         
  declare @pageno int                     
  exec PUB_WEB_PAGEPARA @WebPara, @SortStr output, @PageNum output , @PageNo OUTPUT         
--排序处理      
  --注意:很多时候,排序字段与输出字段不一致,需要做变更处理      
 if @sortstr is null or @sortstr = ''      
  set @sql = @sql + ' order by datakey'      
 else      
 begin      
  -- 对排序字段进行名称变更      
  set @sql = @sql + ' order by ' + @sortstr      
 end      
 print @sql      
 exec (@sql)      
 declare @count int      
 select @count = count(*) from #ts      
 if @pagenum is null or @count < @pagenum -- 行数少于每页行数      
  select @count as totalcount, *  from #ts      
 else      
  select @count as totalcount, * from #ts       
   where sortid > (@pageno - 1) * @pagenum and sortid <= @pageno * @pagenum       
         
      
END      
      
      
      
      
 
 

转载于:https://www.cnblogs.com/qingtaong/archive/2012/06/29/2570151.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值