这是不是SQL server的一个BUG (30分)

  • 主题发起人 主题发起人 intrain
  • 开始时间 开始时间
I

intrain

Unregistered / Unconfirmed
GUEST, unregistred user!
SQL SERVER 2000中,采用money类型时,default 为0
如果加上一个数之后

然后再减去相同的一个数,得到的结果是NULL,而不是0

这是不是一个BUG
 
不存在你说的问题,我刚刚测试过,结果是.000
 
不会吧,我试啦试没问题呀,你怎么操作的
 
我是用触发器的
当一个记录插入的时候另一个关联表的某个字段值会减小
但是当减到零的时候就变成NULL了
 
declare @aa money
select @aa
这样的就是null呀
 
我试过了,没有你说的情况,你有没有升级你的Pack?
 
to dfwasdf

这样就是NULL是什么意思,如果要让他等于0的话应该怎么做呢?
这样的话我的应用程序没法用,一减到零就变成NULL,下次再加就不行了,还是NULL
 
dfwasdf 说得是指没有赋值,所以为空。
其实你可以试一下将设为 default 的字段在Insert 或Update 语句中手工指定一个值,
我想很可能你的触发器没有被触发,再试试吧
 
触发器肯定触发了
有A、B两个表,A中有一个字段是money类型的,这个字段有初值
当B中插入一条记录时,A中的这个字段就会减小B中插入的数值
当我在B中插入一条记录,其减小值刚好和A中的初值相等时
触发器被触发,但是值变成NULL,而不是.000

如果在查询分析器里用SQL语句:update A set xx=xx-y时,值又会变成.000
大家试试看是不是都这样啊
 
就没有解决的办法嘛
 
多人接受答案了。
 
后退
顶部