ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » Sybase管理与开发 » Sybase的BUG?

标题: Sybase的BUG?
离线 surf201
一般会员



精华贴数 0
个人空间 0
技术积分 162 (11466)
社区积分 0 (102994)
注册日期 2003-12-11
论坛徽章:0
      
      

发表于 2004-4-22 16:09 
Sybase的BUG?

Sybase版本:Adaptive Server Enterprise/12.5.0.3/EBF

create table test
( c1  char(6),
  c2  char(6),
  c3  int,
  c4  int
)
go

--随便生成两条模拟数据
insert into test values( "hahaha", "hehehe", 4, 6)
go

insert into test values( "heihei", "abcdef", 2, 8)
go

--测试开始
select * from test where c3 = 4
--结果正确,是一条记录

select sum(c3+c4) from test where c3 = 4
--结果正常,返回一条记录

select c1, c2, sum(c3+c4) from test where c3 = 4
--结果错误,数据库有几条记录就返回多少条

select c1, c2, sum(c3+c4) from test where c3 = 4 group by c1,c2
--结果回复正常

这种现象在sybase ase 12.0和12.5.0.3上都有,问Sybase的一个人员了,他也不明白,但推荐我在写sum的时候,加上group by。各位Sybase同好,可以试试有没有这个BUG。


只看该作者    顶部
离线 surf201
一般会员



精华贴数 0
个人空间 0
技术积分 162 (11466)
社区积分 0 (102994)
注册日期 2003-12-11
论坛徽章:0
      
      

发表于 2004-4-22 16:10 
btw

btw,看执行计划,对于第三句查询sql,没有利用到索引,是全表扫描。


只看该作者    顶部
离线 花好月不圆
初级会员



精华贴数 5
个人空间 20
技术积分 10065 (119)
社区积分 2594 (511)
注册日期 2003-8-11
论坛徽章:40
现任管理团队成员九尾狐狸生肖徽章2007版:羊   
      

发表于 2004-4-23 09:04 
没有 group  ,第三条当然这样


只看该作者    顶部
离线 surf201
一般会员



精华贴数 0
个人空间 0
技术积分 162 (11466)
社区积分 0 (102994)
注册日期 2003-12-11
论坛徽章:0
      
      

发表于 2004-4-23 10:11 
但我执行确实错了

rt,数据库有多少条记录,就返回多少条记录。

在12.0和12.5.0.3上都试验过,确实如此。不知道sybase是否会犯如此低级的错误,所以想问问大家是否遇到过。


只看该作者    顶部
离线 花好月不圆
初级会员



精华贴数 5
个人空间 20
技术积分 10065 (119)
社区积分 2594 (511)
注册日期 2003-8-11
论坛徽章:40
现任管理团队成员九尾狐狸生肖徽章2007版:羊   
      

发表于 2004-4-23 12:19 
select c1, c2, sum(c3+c4) from test where c3 = 4
--结果错误,数据库有几条记录就返回多少条

这个 在 sybase 中确实 如此



只看该作者    顶部
离线 surf201
一般会员



精华贴数 0
个人空间 0
技术积分 162 (11466)
社区积分 0 (102994)
注册日期 2003-12-11
论坛徽章:0
      
      

发表于 2004-4-23 12:24 
移植难啊

sybase的人也说了,就是这样子的。我们跟他说,这样好像和标准sql不一致。他又说sybase不是标准sql,但是兼容标准sql。真不知道他们是否只在语法上兼容sql标准。
我们原来的部分代码是在oracle中写的,现在移植困难多了。


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问