对不起,错了。
我想用存储过程实现搜索新闻的功能,所以给存储过程定义了一些输入参数,经过测试,已经能够实现。得到的结果是记录集。
但是为了顺便实现分页功能,所以要用到游标,此时发现无法定义游标
SELECT @strSql = 'SELECT ' + @column_list + ' FROM tbl_news ' + @where_pos + ' ORDER BY newsID desc'
DECLARE cur_test CURSOR
EXEC (@strSql)
象上面这样。提示出错。
请问大侠,怎样才能根据输入参数动态的定义游标呢?

解决方案 »

  1.   

    可以全局臨時表SELECT @strSql = 'SELECT ' + @column_list + ' into ##t FROM tbl_news ' + @where_pos + ' ORDER BY newsID desc'
    DECLARE cur_test CURSOR
    select * from ##tdrop table ##t其實分頁可以不用cursor的.
      

  2.   

    谢谢。
    如果分页不用cursor那么该怎么做呢?
      

  3.   

    要建立索引(如有ID),如果一頁分15個的話。第N頁的數據是
    select top 15 * from yourtable where id not in (select top 15*(N-1)  id from yourtable)
      

  4.   

    上面的方法有點慢:
    select top 15 * from yourtable where id >any (select top 15*(N-1)  id from yourtable)
      

  5.   

    Set @strSql = 'DECLARE cur_test CURSOR For SELECT ' + @column_list + ' FROM tbl_news ' + @where_pos + ' ORDER BY newsID desc'EXEC (@strSql)