G420607387 2015-01-07 10:17 采纳率: 25%
浏览 1428

关于SQL存储过程的一个问题。

 declare @TotalNum int
exec PUB_AREA_SelectAREACITYByHsfSearchss '',10,1,@TotalNum output
select @TotalNum

alter PROCEDURE [dbo].[PUB_AREA_SelectAREACITYByHsfSearchss]                
@HsfSearch VARCHAR(2000), --刷选条件                
@PageSize INT,    --分页条数                
@CurPage INT,    --当前页码                
@TotalNum INT OUTPUT  --总条数                
AS                 

 DECLARE @BasicSQL VARCHAR(8000)                  
 DECLARE @BasicSQLTotal VARCHAR(8000)                
 SET @BasicSQLTotal='select AreaId,AreaName,ParentId from PUB_AREA'                    

 IF (@HsfSearch IS NOT NULL AND @HsfSearch <> '')                
 BEGIN                
  SET @BasicSQLTotal=@BasicSQLTotal+' WHERE '+@HsfSearch                
 END                 
 ELSE                 


 SET @BasicSQL=' SELECT AreaId,AreaName,ParentId                 
     FROM ('+@BasicSQLTotal+' ) A WHERE ' +                  
     CONVERT(VARCHAR,(@CurPage-1) * @PageSize + 1) + ' AND ' +                  
     CONVERT(VARCHAR,@CurPage * @PageSize) +' group by AreaId,AreaName,ParentId'                    

 EXEC  (@BasicSQL)                

 CREATE TABLE #Temp1                
 (                 
  num INT                
 )                

 INSERT INTO #Temp1                 
 EXEC ('SELECT count(*) FROM (' + @BasicSQL + ') A')  -- @BasicSQLTotal               

 SELECT @TotalNum=(                
      SELECT *                 
      FROM #Temp1                 
      )                    

 DROP TABLE #Temp1 

不知道这样写对不对,是针对单表的查询,

  • 写回答

1条回答 默认 最新

  • 开着拖拉机泡妞 2015-01-08 01:15
    关注

    建议楼主给出具体的目的。你贴这个代码,大家也只能给你看语法问题。

    评论

报告相同问题?

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改