declare @MyTestCursor Cursor
declare @ZYDH char(2)
declare @YXDH char(4)
declare @LQRS char(4) /*录取人数*/
----统计各院校专业队列录取的考生人数
set @MyTestCursor=CURSOR for
(select YXDH,ZYDH,count(*)
from view_zyk_jhk_zxyxzyh
where zyzt='1'
group by ZYDH,YXDH)open @MyTestCursor
fetch @MyTestCursor into @YXDH,@ZYDH,@LQRS
while @@FETCH_STATUS=0
begin
----减去录取的人数,得到专业计划数差额数
update t_jhk set JHCGS=JHCGS-@LQRS
where t_jhk.YXDH=@YXDH
and t_jhk.ZYDH=@ZYDH
fetch @MyTestCursor into @YXDH,@ZYDH,@LQRS
end
close @MyTestCursor
deallocate @MyTestCursor问题:
我在前面定义的declare @LQRS char(4)是字符型。而另一处
红色标注的地方update t_jhk set JHCGS=JHCGS-@LQRS这里面的
JHCGS是decimal(5,0)。为什么他们可以相减?
declare @ZYDH char(2)
declare @YXDH char(4)
declare @LQRS char(4) /*录取人数*/
----统计各院校专业队列录取的考生人数
set @MyTestCursor=CURSOR for
(select YXDH,ZYDH,count(*)
from view_zyk_jhk_zxyxzyh
where zyzt='1'
group by ZYDH,YXDH)open @MyTestCursor
fetch @MyTestCursor into @YXDH,@ZYDH,@LQRS
while @@FETCH_STATUS=0
begin
----减去录取的人数,得到专业计划数差额数
update t_jhk set JHCGS=JHCGS-@LQRS
where t_jhk.YXDH=@YXDH
and t_jhk.ZYDH=@ZYDH
fetch @MyTestCursor into @YXDH,@ZYDH,@LQRS
end
close @MyTestCursor
deallocate @MyTestCursor问题:
我在前面定义的declare @LQRS char(4)是字符型。而另一处
红色标注的地方update t_jhk set JHCGS=JHCGS-@LQRS这里面的
JHCGS是decimal(5,0)。为什么他们可以相减?
DECLARE @j DECIMAL(5,2)=345.12SELECT @j-@i --343.12 隐式转换了.