为了账号安全,请及时绑定邮箱和手机立即绑定

SQL2005 中set 设置默认参数 不执行

SQL2005 中set 设置默认参数 不执行

慕村225694 2018-12-06 21:26:56
USE [data_smf]GO/****** 对象:  StoredProcedure [dbo].[page]    脚本日期: 01/10/2011 15:01:29 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author:  <Author,,Name>-- Create date: <Create Date,,>-- Description: <Description,,>-- =============================================ALTER PROCEDURE [dbo].[page]@key int=0, --返回总页数或数据@value nvarchar(50)='-',--用于排序字段@size int=20, --每页显示数据的条数@order nvarchar(50)='asc',@table nvarchar(50),@column nvarchar(100) AS  SET NOCOUNT ON;--declare @KEYS intdeclare @sqlstr1 nvarchar(2000)declare @sqlstr2 nvarchar(2000)declare @sqlstr3 nvarchar(2000)--set @KEYS=@keyset @sqlstr1='select RowNumber=ceiling(count(id) *1.0/'+cast(@size as nvarchar(20))+')from ' +@table +' '--总页数set @sqlstr2= 'select '+@column+' from (select row_number() over(order by '+@value+' '+@order+  ' ) as RowNum, *  from  '+@table+' ) t where t.RowNum between 20*('+cast(@key as nvarchar(20))+'-1) and 20*'+cast(@key as nvarchar(20))+'order by '+' '+@value+' '+@order+' ' --id可以被替换 BEGIN--返回总行数if(@key=0)beginexec(@sqlstr1)end--返回调用页的数据 if(@key>0 and @value<>'-')begin  exec(@sqlstr2)end--返回总页数,并且返回第一页数据if(@key=-1)beginexec(@sqlstr1)-- 设置key 值无效set @key=1 exec(@sqlstr2) endEND  
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 570 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信