911junjun 发表于 2009-1-8 11:49:38

求助Oracle中rownum问题在sybase中如何间接实现

我的程序之前在 Oracle数据库执行,有这样一个sql
SELECT LOG_LOGNO,LOG_BSNCODE,LOG_DATETIME,LOG_RESULT
FROM (
       SELECT TEMP_TABLE.*, ROWNUM ROWNUM_ FROM (
               SELECT    LOG_LOGNO,LOG_BSNCODE,LOG_DATETIME,LOG_RESULT FROM
               PB_LOG
               WHERE LOG_CSTNO=? AND left(LOG_DATETIME,8)>=? ANDleft(LOG_DATETIME,8)<=? and LOG_BSNCODE IN ('000001','000002') ORDER BY LOG_DATETIME DESC)TEMP_TABLE
       WHERE ROWNUM < ?
      )
WHERE ROWNUM_ >= ?
在sybase中无法解决rownum的问题 请求如何解决,希望大侠们给一个sybase版本的sql 和以上语句一样,此sql用做sybase分页用的。

Nicol.Chu 发表于 2009-1-19 16:05:36

You may try this:
select fs.*, ROW_NUMBER() OVER (ORDER BY cat_code) AS record_id from ( Your SQL ) ) fs

bitiwyh 发表于 2009-3-15 11:39:50

top吧?

select top n xxx

只是没试过top ?绑定变量.

sxlangzi 发表于 2009-3-17 10:21:54

set rowcount 10
select* from tablename

sxlangzi 发表于 2009-3-17 10:24:39

哦看错了,sybase中无法使用以上语句,如果你想实现这样的功能那就写过程把,比较费事点。要不就先用字符串把你的查询语句表示出来。然后再执行,这是我的个人看法,看看有没有高手的。‘
页: [1]
查看完整版本: 求助Oracle中rownum问题在sybase中如何间接实现

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com