这是一个分页的存储过程,生成三个表,而我只是想要第三个表的值,我可以保证三个表都是有数据的,请问如何做?
解决方案 »
- 排序问题(order by...)
- MySQL插入操作出现1064错误。
- 超级郁闷,触发器的执行问题,急,在线等
- 在程序中如何复制视图?
- 有关sql2005的问题
- 请问各大高手,我想用like '%[^-]%'筛选掉某字段中的带‘-’的记录为何不行!
- 路由器分配的192.168.1.X的内网地址不能访问远程公网IP的SQL SERVER 数据库
- sql 6.5的补丁
- 交叉表,其中一列的行数并不固定
- 关于自动编号的主键问题
- *******************请问关于MSDE和Sqlserver 2005 express的问题*****************
- 请问我想去掉一个表中一个字段的标识,用sql语句怎么写?
--用法:
--EXEC GetRecordPage 'SELECT * FROM TAB WHERE ...... ',10,100
CREATE PROC GetRecordPage
@strSQL varchar(4000),--查询SQL语句字符串
@CurPageNum int=1,--要显示的第N页
@PageSize int=50--每页行数
AS
SET NOCOUNT ON
DECLARE @P1 int,--P1是游标的id
@RowCount int,
@PageCount int,
@CurPage int
EXEC sp_cursoropen @P1 OUTPUT,@strSQL,@scrollopt=1,@ccopt=1,@RowCount=@RowCount OUTPUT
SET @PageCount = ceiling(1.0*@RowCount/@PageSize)
IF @CurPageNum>@PageCount
SET @CurPage = @PageCount
ELSE IF @CurPageNum<=0
SET @CurPage = 1
ELSE
SET @CurPage = @CurPageNum
SELECT @RowCount AS RsCount,@PageCount AS PageCount,@CurPage AS CurPage
SET @CurPageNum=(@CurPageNum-1)*@PageSize+1
EXEC sp_cursorfetch @P1,16,@CurPageNum,@PageSize
EXEC sp_cursorclose @P1
--SET NOCOUNT OFF
GO
这个是执行的存储过程:exec GetRecordPage 'SELECT Article.Art_ID, Article.Class_ID, Article.Title, Article.ViceTitle, Article.TitleImage,
Article.TitleImage_Height, Article.TitleImage_Width, Article.Content,
Article.recommend, Article.Comment, Article.Author, Article.FromWhere,
Article.CourtName, Article.pic_suffix, Article.pic_comments, Article.ArtSource,
Article.IsAllwaysOnTop, Article.IsAllowDiscuss, Article.ArtStatus, Article.IsRecommend,
Article.Keyword, Article.ReadCount, Article.day_edit, Article.Releasedate,
Article.User_ID, Article.checkup, IZ_User.UserName, MsgClass.ClassName
FROM Article INNER JOIN
MsgClass ON Article.Class_ID = MsgClass.Class_ID LEFT OUTER JOIN
IZ_User ON Article.User_ID = IZ_User.UserID
WHERE Article.ArtStatus=1 AND Article.Class_ID=77 ORDER BY Article.IsAllwaysOnTop DESC, Article.ReleaseDate DESC'
,1,55然后我希望在数据集中看到数据,可是数据为空,在查询分析器上执行的结果为三个表,只有第三个表才是我想要的,怎么做呢?
试想
select * from tb
select * from ta
你让SQL执行时,这语句本身就是数据检索命令,如何又能让它不执行呢? 那么你只能不要它.
又何来"存储过程返回多个表"之说?前台开发语言中提供了相应的东西. ado,ado.net中都有.