| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2069 人关注过本帖
标题:请问如何用SQL语句实现从数据库中某一特定的行读取一定的行数啊
只看楼主 加入收藏
zhouye1919
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-12-5
收藏
 问题点数:0 回复次数:3 
请问如何用SQL语句实现从数据库中某一特定的行读取一定的行数啊
大家好,我想实现一个功能,却发现数据设计时出了问题,例如,我想从数据库的表tab的第3行开始读取后面的5行。这句SQL语句该怎么写啊。

还有在表中,我实现自动编号,例如已经有7个编号,1,2,3,4,5,6,7。我删除了3后,我想后面的依次前移,变成1,2,3,4,5,6。这该怎么实现啊,谢谢!
搜索更多相关主题的帖子: SQL语句 数据库 tab 功能 前移 
2005-12-05 21:34
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5810
专家分:118
注 册:2005-4-7
收藏
得分:0 
1,select top 5 * from tab where i>=3

2,不清楚

2005-12-06 10:41
nic
Rank: 2
等 级:新手上路
威 望:4
帖 子:175
专家分:0
注 册:2005-11-1
收藏
得分:0 

试试看:
假定表:table_name, 自动编号的列:id

declare cursor_name cursor
local scroll
for
select id
from table_name
order by id asc
end

declare @id int

open cursor_name
if @@cursor_rows>=4
begin
fetch absolute 4 from cursor into @id
select top 5 *
from table_name
where id>=@id
end
close cursor_name
deallocate cursor_name


我有试过,如果列是primary key,那么生成的id删除以后没法再恢复了。

[此贴子已经被作者于2005-12-6 11:14:56编辑过]


2005-12-06 10:58
zhouye1919
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-12-5
收藏
得分:0 

谢谢两位。第一个问题我已经按照斑竹的方法解决了,谢谢,但是第二个问题还没解决,我想的是一个比较笨的方法,我让程序ID自己加,而不让服务器去实现,
int i=rs.getRow();//获得最后一行的行数
String[m][4]str...... //定义我要存入数据库的数据
for(int j=0;j<m;j++)
{
stmt.executeUpdate("insert into tab values(++i,'str[j][0]','str[j][1]','str[j][2]','str[j][3]'");
}
让数据接着最后一行的ID号连着,但这的前提是前面所有的必须是连续且紧靠的

删除的话 例如删除第M行
stmt.executeUpdate("delete from tab where ID=M");//删除M行
stmt.executeUpdate("update tab set ID=ID-1 where ID>M");//M行后面的开始前移
我是用JAVA连接的,谢谢各位,不知道我想的对不对

2005-12-06 21:26
快速回复:请问如何用SQL语句实现从数据库中某一特定的行读取一定的行数啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014992 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved