sybase数据库是否支持查询分页
发布网友
发布时间:2022-05-07 22:56
我来回答
共2个回答
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
热心网友
时间:2023-11-19 00:21
下面就为您介绍sybase分页存储过程的写法,希望可以让您对sybase分页存储过程有更多的了解。
create procere SP_PHP_PAGE @qry varchar(16384),@iStart int, @iLimit int, @sKeyFiled varchar(32) as
/*@qry SQL语句, @iStart 开始, @iLimit 结束,@sKeyFiled 表中的主键 */
begin
declare @execsql varchar(16384)
declare @execsqltmp varchar(16384)
/*定义临时表表名*/
declare @dt varchar(10) --生成临时表的随机数
set @dt=substring(convert(varchar, rand()), 3, 10) --一个字符型的随机数
set rowcount @iLimit
if(@sKeyFiled is null)
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,')
set @execsqltmp = ' select * from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
end
else
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,' || @sKeyFiled || ' ,@' )
set @execsql = stuff(@execsql,charindex(',@',@execsql),charindex('from',@execsql)-charindex(',@',@execsql),'' )
set @execsqltmp = ' select '|| @sKeyFiled ||' from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
set @execsqltmp = stuff(@qry,charindex('where',@qry),5,' where '|| @sKeyFiled || ' in ('|| @execsqltmp ||') and ')
end
set @execsql = stuff(@execsql, charindex('from',@execsql),4,'into #temptable' + @dt + ' from')
select (@execsql) as sql, @execsqltmp as sqlTmp
set rowcount 0
end
调用
$sSQL = " exec SP_PHP_PAGE '$sSQL',$iStart,$iLimit,'iId'";
$pRow = $this->m_hDb->GetResult ( $sSQL );
$this->m_hDb->Excute ( $pRow->sql );
$pData = $this->m_hDb->Select($pRow->sqlTmp);
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
热心网友
时间:2023-11-19 00:21
下面就为您介绍sybase分页存储过程的写法,希望可以让您对sybase分页存储过程有更多的了解。
create procere SP_PHP_PAGE @qry varchar(16384),@iStart int, @iLimit int, @sKeyFiled varchar(32) as
/*@qry SQL语句, @iStart 开始, @iLimit 结束,@sKeyFiled 表中的主键 */
begin
declare @execsql varchar(16384)
declare @execsqltmp varchar(16384)
/*定义临时表表名*/
declare @dt varchar(10) --生成临时表的随机数
set @dt=substring(convert(varchar, rand()), 3, 10) --一个字符型的随机数
set rowcount @iLimit
if(@sKeyFiled is null)
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,')
set @execsqltmp = ' select * from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
end
else
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,' || @sKeyFiled || ' ,@' )
set @execsql = stuff(@execsql,charindex(',@',@execsql),charindex('from',@execsql)-charindex(',@',@execsql),'' )
set @execsqltmp = ' select '|| @sKeyFiled ||' from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
set @execsqltmp = stuff(@qry,charindex('where',@qry),5,' where '|| @sKeyFiled || ' in ('|| @execsqltmp ||') and ')
end
set @execsql = stuff(@execsql, charindex('from',@execsql),4,'into #temptable' + @dt + ' from')
select (@execsql) as sql, @execsqltmp as sqlTmp
set rowcount 0
end
调用
$sSQL = " exec SP_PHP_PAGE '$sSQL',$iStart,$iLimit,'iId'";
$pRow = $this->m_hDb->GetResult ( $sSQL );
$this->m_hDb->Excute ( $pRow->sql );
$pData = $this->m_hDb->Select($pRow->sqlTmp);
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
热心网友
时间:2023-11-19 00:21
下面就为您介绍sybase分页存储过程的写法,希望可以让您对sybase分页存储过程有更多的了解。
create procere SP_PHP_PAGE @qry varchar(16384),@iStart int, @iLimit int, @sKeyFiled varchar(32) as
/*@qry SQL语句, @iStart 开始, @iLimit 结束,@sKeyFiled 表中的主键 */
begin
declare @execsql varchar(16384)
declare @execsqltmp varchar(16384)
/*定义临时表表名*/
declare @dt varchar(10) --生成临时表的随机数
set @dt=substring(convert(varchar, rand()), 3, 10) --一个字符型的随机数
set rowcount @iLimit
if(@sKeyFiled is null)
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,')
set @execsqltmp = ' select * from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
end
else
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,' || @sKeyFiled || ' ,@' )
set @execsql = stuff(@execsql,charindex(',@',@execsql),charindex('from',@execsql)-charindex(',@',@execsql),'' )
set @execsqltmp = ' select '|| @sKeyFiled ||' from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
set @execsqltmp = stuff(@qry,charindex('where',@qry),5,' where '|| @sKeyFiled || ' in ('|| @execsqltmp ||') and ')
end
set @execsql = stuff(@execsql, charindex('from',@execsql),4,'into #temptable' + @dt + ' from')
select (@execsql) as sql, @execsqltmp as sqlTmp
set rowcount 0
end
调用
$sSQL = " exec SP_PHP_PAGE '$sSQL',$iStart,$iLimit,'iId'";
$pRow = $this->m_hDb->GetResult ( $sSQL );
$this->m_hDb->Excute ( $pRow->sql );
$pData = $this->m_hDb->Select($pRow->sqlTmp);
热心网友
时间:2023-11-19 00:21
下面就为您介绍sybase分页存储过程的写法,希望可以让您对sybase分页存储过程有更多的了解。
create procere SP_PHP_PAGE @qry varchar(16384),@iStart int, @iLimit int, @sKeyFiled varchar(32) as
/*@qry SQL语句, @iStart 开始, @iLimit 结束,@sKeyFiled 表中的主键 */
begin
declare @execsql varchar(16384)
declare @execsqltmp varchar(16384)
/*定义临时表表名*/
declare @dt varchar(10) --生成临时表的随机数
set @dt=substring(convert(varchar, rand()), 3, 10) --一个字符型的随机数
set rowcount @iLimit
if(@sKeyFiled is null)
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,')
set @execsqltmp = ' select * from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
end
else
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,' || @sKeyFiled || ' ,@' )
set @execsql = stuff(@execsql,charindex(',@',@execsql),charindex('from',@execsql)-charindex(',@',@execsql),'' )
set @execsqltmp = ' select '|| @sKeyFiled ||' from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
set @execsqltmp = stuff(@qry,charindex('where',@qry),5,' where '|| @sKeyFiled || ' in ('|| @execsqltmp ||') and ')
end
set @execsql = stuff(@execsql, charindex('from',@execsql),4,'into #temptable' + @dt + ' from')
select (@execsql) as sql, @execsqltmp as sqlTmp
set rowcount 0
end
调用
$sSQL = " exec SP_PHP_PAGE '$sSQL',$iStart,$iLimit,'iId'";
$pRow = $this->m_hDb->GetResult ( $sSQL );
$this->m_hDb->Excute ( $pRow->sql );
$pData = $this->m_hDb->Select($pRow->sqlTmp);
热心网友
时间:2023-11-19 00:21
下面就为您介绍sybase分页存储过程的写法,希望可以让您对sybase分页存储过程有更多的了解。
create procere SP_PHP_PAGE @qry varchar(16384),@iStart int, @iLimit int, @sKeyFiled varchar(32) as
/*@qry SQL语句, @iStart 开始, @iLimit 结束,@sKeyFiled 表中的主键 */
begin
declare @execsql varchar(16384)
declare @execsqltmp varchar(16384)
/*定义临时表表名*/
declare @dt varchar(10) --生成临时表的随机数
set @dt=substring(convert(varchar, rand()), 3, 10) --一个字符型的随机数
set rowcount @iLimit
if(@sKeyFiled is null)
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,')
set @execsqltmp = ' select * from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
end
else
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,' || @sKeyFiled || ' ,@' )
set @execsql = stuff(@execsql,charindex(',@',@execsql),charindex('from',@execsql)-charindex(',@',@execsql),'' )
set @execsqltmp = ' select '|| @sKeyFiled ||' from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
set @execsqltmp = stuff(@qry,charindex('where',@qry),5,' where '|| @sKeyFiled || ' in ('|| @execsqltmp ||') and ')
end
set @execsql = stuff(@execsql, charindex('from',@execsql),4,'into #temptable' + @dt + ' from')
select (@execsql) as sql, @execsqltmp as sqlTmp
set rowcount 0
end
调用
$sSQL = " exec SP_PHP_PAGE '$sSQL',$iStart,$iLimit,'iId'";
$pRow = $this->m_hDb->GetResult ( $sSQL );
$this->m_hDb->Excute ( $pRow->sql );
$pData = $this->m_hDb->Select($pRow->sqlTmp);
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
热心网友
时间:2023-11-19 00:21
下面就为您介绍sybase分页存储过程的写法,希望可以让您对sybase分页存储过程有更多的了解。
create procere SP_PHP_PAGE @qry varchar(16384),@iStart int, @iLimit int, @sKeyFiled varchar(32) as
/*@qry SQL语句, @iStart 开始, @iLimit 结束,@sKeyFiled 表中的主键 */
begin
declare @execsql varchar(16384)
declare @execsqltmp varchar(16384)
/*定义临时表表名*/
declare @dt varchar(10) --生成临时表的随机数
set @dt=substring(convert(varchar, rand()), 3, 10) --一个字符型的随机数
set rowcount @iLimit
if(@sKeyFiled is null)
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,')
set @execsqltmp = ' select * from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
end
else
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,' || @sKeyFiled || ' ,@' )
set @execsql = stuff(@execsql,charindex(',@',@execsql),charindex('from',@execsql)-charindex(',@',@execsql),'' )
set @execsqltmp = ' select '|| @sKeyFiled ||' from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
set @execsqltmp = stuff(@qry,charindex('where',@qry),5,' where '|| @sKeyFiled || ' in ('|| @execsqltmp ||') and ')
end
set @execsql = stuff(@execsql, charindex('from',@execsql),4,'into #temptable' + @dt + ' from')
select (@execsql) as sql, @execsqltmp as sqlTmp
set rowcount 0
end
调用
$sSQL = " exec SP_PHP_PAGE '$sSQL',$iStart,$iLimit,'iId'";
$pRow = $this->m_hDb->GetResult ( $sSQL );
$this->m_hDb->Excute ( $pRow->sql );
$pData = $this->m_hDb->Select($pRow->sqlTmp);
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
热心网友
时间:2023-11-19 00:21
下面就为您介绍sybase分页存储过程的写法,希望可以让您对sybase分页存储过程有更多的了解。
create procere SP_PHP_PAGE @qry varchar(16384),@iStart int, @iLimit int, @sKeyFiled varchar(32) as
/*@qry SQL语句, @iStart 开始, @iLimit 结束,@sKeyFiled 表中的主键 */
begin
declare @execsql varchar(16384)
declare @execsqltmp varchar(16384)
/*定义临时表表名*/
declare @dt varchar(10) --生成临时表的随机数
set @dt=substring(convert(varchar, rand()), 3, 10) --一个字符型的随机数
set rowcount @iLimit
if(@sKeyFiled is null)
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,')
set @execsqltmp = ' select * from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
end
else
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,' || @sKeyFiled || ' ,@' )
set @execsql = stuff(@execsql,charindex(',@',@execsql),charindex('from',@execsql)-charindex(',@',@execsql),'' )
set @execsqltmp = ' select '|| @sKeyFiled ||' from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
set @execsqltmp = stuff(@qry,charindex('where',@qry),5,' where '|| @sKeyFiled || ' in ('|| @execsqltmp ||') and ')
end
set @execsql = stuff(@execsql, charindex('from',@execsql),4,'into #temptable' + @dt + ' from')
select (@execsql) as sql, @execsqltmp as sqlTmp
set rowcount 0
end
调用
$sSQL = " exec SP_PHP_PAGE '$sSQL',$iStart,$iLimit,'iId'";
$pRow = $this->m_hDb->GetResult ( $sSQL );
$this->m_hDb->Excute ( $pRow->sql );
$pData = $this->m_hDb->Select($pRow->sqlTmp);
热心网友
时间:2023-11-19 00:21
下面就为您介绍sybase分页存储过程的写法,希望可以让您对sybase分页存储过程有更多的了解。
create procere SP_PHP_PAGE @qry varchar(16384),@iStart int, @iLimit int, @sKeyFiled varchar(32) as
/*@qry SQL语句, @iStart 开始, @iLimit 结束,@sKeyFiled 表中的主键 */
begin
declare @execsql varchar(16384)
declare @execsqltmp varchar(16384)
/*定义临时表表名*/
declare @dt varchar(10) --生成临时表的随机数
set @dt=substring(convert(varchar, rand()), 3, 10) --一个字符型的随机数
set rowcount @iLimit
if(@sKeyFiled is null)
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,')
set @execsqltmp = ' select * from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
end
else
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,' || @sKeyFiled || ' ,@' )
set @execsql = stuff(@execsql,charindex(',@',@execsql),charindex('from',@execsql)-charindex(',@',@execsql),'' )
set @execsqltmp = ' select '|| @sKeyFiled ||' from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
set @execsqltmp = stuff(@qry,charindex('where',@qry),5,' where '|| @sKeyFiled || ' in ('|| @execsqltmp ||') and ')
end
set @execsql = stuff(@execsql, charindex('from',@execsql),4,'into #temptable' + @dt + ' from')
select (@execsql) as sql, @execsqltmp as sqlTmp
set rowcount 0
end
调用
$sSQL = " exec SP_PHP_PAGE '$sSQL',$iStart,$iLimit,'iId'";
$pRow = $this->m_hDb->GetResult ( $sSQL );
$this->m_hDb->Excute ( $pRow->sql );
$pData = $this->m_hDb->Select($pRow->sqlTmp);
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
热心网友
时间:2023-11-19 00:21
下面就为您介绍sybase分页存储过程的写法,希望可以让您对sybase分页存储过程有更多的了解。
create procere SP_PHP_PAGE @qry varchar(16384),@iStart int, @iLimit int, @sKeyFiled varchar(32) as
/*@qry SQL语句, @iStart 开始, @iLimit 结束,@sKeyFiled 表中的主键 */
begin
declare @execsql varchar(16384)
declare @execsqltmp varchar(16384)
/*定义临时表表名*/
declare @dt varchar(10) --生成临时表的随机数
set @dt=substring(convert(varchar, rand()), 3, 10) --一个字符型的随机数
set rowcount @iLimit
if(@sKeyFiled is null)
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,')
set @execsqltmp = ' select * from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
end
else
begin
set @execsql = stuff(@qry,charindex('select',@qry),6,'select number(*) as sybid,' || @sKeyFiled || ' ,@' )
set @execsql = stuff(@execsql,charindex(',@',@execsql),charindex('from',@execsql)-charindex(',@',@execsql),'' )
set @execsqltmp = ' select '|| @sKeyFiled ||' from #temptable' + @dt + ' where sybid>' || convert(varchar,@iStart) || ' and sybid <= ' || convert(varchar,(@iStart/@iLimit+1)*@iLimit)
set @execsqltmp = stuff(@qry,charindex('where',@qry),5,' where '|| @sKeyFiled || ' in ('|| @execsqltmp ||') and ')
end
set @execsql = stuff(@execsql, charindex('from',@execsql),4,'into #temptable' + @dt + ' from')
select (@execsql) as sql, @execsqltmp as sqlTmp
set rowcount 0
end
调用
$sSQL = " exec SP_PHP_PAGE '$sSQL',$iStart,$iLimit,'iId'";
$pRow = $this->m_hDb->GetResult ( $sSQL );
$this->m_hDb->Excute ( $pRow->sql );
$pData = $this->m_hDb->Select($pRow->sqlTmp);
热心网友
时间:2023-11-19 00:21
sybase不支持分页查询。要想分页查询需自己写存储过程
...server存储过程实现查询数据条数过大,分页查询怎么实现?
通过在待查询的数据库表上增加一个用于查询的自增长字段,然后采用该字段进行分页查询,可以很好地解决这个问题。下面举例说明这种分页查询方案。(1)、在待查询的表格上增加一个long型的自增长列,取名为“queryId”,mssql、sybase直接支持自增长字段,oracle可以用sequence和trigger来实现。然后在该列上加...
每翻一页,都去数据库中查一次。这种分页效果用java怎么写?
在用jdbc访问某个数据库,并读出一个resultset数据记录集时,如果记录数太大,则会占用客户端(运行java程式的机器)的大量内存(如果客户端是某个大企业的营业部门的代理点分机,则有可能java程式会占用完全部内存,然后报错),并且会造成客户端负载过重,运行速度极度缓慢(在sybase数据库中,我曾做过...
oracle存储过程分页 java调用时候出现 无法转换为内部表示 什么问题...
也没什么大问题,就是oracle的函数你用错了 to_char(参数,格式),比如to_char(1234,'0000'),to_char(sysdate,'YYYYMMDD')等,to_number(参数,格式),比如to_number(9999,'$9999.99'),to_number(99.99,'99')等
为什么使用B/S模式
客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。架构 随着Internet...
sql sever 2005启动查询分析器的方法
二、选择上方的数据库即可。三、SQL Server 2005相对于SQL Server 2000改进很大,有些还是非常实用的。TOP 表达式 SQL Server 2000的TOP是个固定值,是不是觉得不爽,现在改进了。分页不知各位过去用SQL Server 2000是怎么分页的,大多都用到了临时表。SQL Server 2005一句话就支持分页,性能据说也非常...
怎样在ASP中连接ACESS数据库
那么你还要学会分页技术……简单的显示记录已经掌握,现在需要的就是通过ASP将信息内容插入到数据库中。一、拥有数据库cnbruce.mdb本数据库的作用就是用来被插入数据的,可以直接采用上节中已经建立的cnbruce.mdb文件,当然连接打开数据库的文件conn.asp也就顺利引用了。二、建立输入插入信息的页面平台addit.html本页的...
什么是内部碎片?什么是外部碎片?各种存储管理中都可能产生何种碎片...
2.外部碎片:指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。3.存储管理中都可能产生的碎片:除了内部碎片和外部碎片,在“分页存储”中,可能产生“页内碎片”,页内碎片是由于进程的最后一页经常装不满一块而形成了不可利用的碎片。
紧急寻找linux红旗题库
22. 红旗Linux支持哪些数据库: A. Informix-SEB. Oracle8C. Sybase等多种流行数据库D. MySql23. 哪些命令可能退出shell?A. logoutB. exitC. quitD. Ctrl D24. 为了列出当前目录所有的文件,我们可以使用 ___ 方式:A. ls ?B. ls .*C. ls –aD. ls . 25. 下面哪些命令可以显示一个文件的具体内容...
sql sever 2005启动查询分析器的方法
问题一、有两个方法:一个是工具栏有个新建查询 单击即可 另个方法是右击数据库名称——新建查询 问题二、也有两个方法:一个是执行左边有个下三角 单击——选择你要的数据库即可 另一个方法是命令 不管你的查询分析器是在什么数据库操作 直接输入命令 use 数据库名 go 最后一个问题很多很杂 有...