分页存储过程:
http://www.cnblogs.com/mbskys/articles/637287.html
用我是基本会用,想把SQL语句也弄清楚,我没有专门学过SQL
语句,呵呵 其中有一些是对字符串的操作吧?我对过网络查找
搞明白一部分 其中的这一段我没看明白:
DECLARE @type varchar(50)
DECLARE @prec int
SELECT @type=t.name, @prec=c.prec
FROM sysobjects o
JOIN syscolumns c on o.id=c.id
JOIN systypes t on c.xusertype=t.xusertype
WHERE o.name = @SortTable AND c.name = @SortName
IF CHARINDEX('char', @type) > 0
SET @type = @type + '(' + CAST(@prec AS varchar) + ')'
DECLARE @TopRows INT --下一页的第一条记录数
SET @TopRows = @PageSize * @CurrentPage + 1
print @TopRows
print @Operator
我传进去的参数如下:
@TableNames = News left join Newskinds on News.newsKindId = Newskinds.KindId left join users on News.userId = users.userId
@PrimaryKey = News.NewsId
@Fields = News.NewsId,news.newsTitle,news.pubDate,Newskinds.KindName,users.userName
@PageSize = 2
@CurrentPage CurrentPage - 1
@Filter = strWhere = newsTitle like '%国际%'
@Group 分组为空
@Order = News.NewsId DESC
@RecordCount 根据传进去的参数和字符串我组合出如下SQL语句,好像有点不对,请高手给我更正一下:
DECLARE @SortColumnBegin ' + @type + '
SET ROWCOUNT 5
SELECT News.NewsId FROM
News left join Newskinds on News.newsKindId = Newskinds.KindId left join users on News.userId = users.userId
WHERE newsTitle like '%国际%' ORDER BY News.NewsId DESC
SET ROWCOUNT 2
SELECT News.NewsId,news.newsTitle,news.pubDate,Newskinds.KindName,users.userName
FROM News left join Newskinds on News.newsKindId = Newskinds.KindId left join users on News.userId = users.userId
WHERE newsTitle like '%国际%' AND News.NewsId <= '@SortColumnBegin ' ORDER BY News.NewsId DESC
http://www.cnblogs.com/mbskys/articles/637287.html
用我是基本会用,想把SQL语句也弄清楚,我没有专门学过SQL
语句,呵呵 其中有一些是对字符串的操作吧?我对过网络查找
搞明白一部分 其中的这一段我没看明白:
DECLARE @type varchar(50)
DECLARE @prec int
SELECT @type=t.name, @prec=c.prec
FROM sysobjects o
JOIN syscolumns c on o.id=c.id
JOIN systypes t on c.xusertype=t.xusertype
WHERE o.name = @SortTable AND c.name = @SortName
IF CHARINDEX('char', @type) > 0
SET @type = @type + '(' + CAST(@prec AS varchar) + ')'
DECLARE @TopRows INT --下一页的第一条记录数
SET @TopRows = @PageSize * @CurrentPage + 1
print @TopRows
print @Operator
我传进去的参数如下:
@TableNames = News left join Newskinds on News.newsKindId = Newskinds.KindId left join users on News.userId = users.userId
@PrimaryKey = News.NewsId
@Fields = News.NewsId,news.newsTitle,news.pubDate,Newskinds.KindName,users.userName
@PageSize = 2
@CurrentPage CurrentPage - 1
@Filter = strWhere = newsTitle like '%国际%'
@Group 分组为空
@Order = News.NewsId DESC
@RecordCount 根据传进去的参数和字符串我组合出如下SQL语句,好像有点不对,请高手给我更正一下:
DECLARE @SortColumnBegin ' + @type + '
SET ROWCOUNT 5
SELECT News.NewsId FROM
News left join Newskinds on News.newsKindId = Newskinds.KindId left join users on News.userId = users.userId
WHERE newsTitle like '%国际%' ORDER BY News.NewsId DESC
SET ROWCOUNT 2
SELECT News.NewsId,news.newsTitle,news.pubDate,Newskinds.KindName,users.userName
FROM News left join Newskinds on News.newsKindId = Newskinds.KindId left join users on News.userId = users.userId
WHERE newsTitle like '%国际%' AND News.NewsId <= '@SortColumnBegin ' ORDER BY News.NewsId DESC
解决方案 »
- 关于通过sp_addlinkedserver链接服务器,查询包含timestamp型字段的表时,报错误的问题。
- 求SQl语句
- 请教如何将计划执行后的结果保存下来
- 选出三门科平均成绩>90 并平均成绩高-底排序
- 一个SQL问题!!
- Sql如何提取众多分类的第一条信息
- 请问如何在wise打包工具里打包MSDE安装程序
- 帮我看一下我写的两个存储过程,在多台机器同时执行的时候,有可能只执行一句,谢谢帮忙,在线等
- 为什么我的sql manager老是不响应呀?
- 机器启动后第一次sql2008r2用OPENROWSET('Microsoft.ACE.OLEDB.12.0' ... 读取ACCESS总是会断开服务
- 如何建立一存储过程用DTS把本地表导入远程表
- 我要疯了,谁能建立一个存储过程,完成两台服务器中大容量数据表的复制
SET ROWCOUNT 5
SELECT News.NewsId FROM
News left join Newskinds on News.newsKindId = Newskinds.KindId left join users on News.userId = users.userId
WHERE newsTitle like '%国际%' ORDER BY News.NewsId DESC
SET ROWCOUNT 2
SELECT News.NewsId,news.newsTitle,news.pubDate,Newskinds.KindName,users.userName
FROM News left join Newskinds on News.newsKindId = Newskinds.KindId left join users on News.userId = users.userId
WHERE newsTitle like '%国际%' AND News.NewsId <= '@SortColumnBegin ' ORDER BY News.NewsId DESC 红色区域也由问题,执行时会把@SortColumnBegin这段字母作为值,而不是用变量所带便的值