大家帮看看,谢谢
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[mn]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[mn]
GOCREATE TABLE [dbo].[mn] (
[sd] [float] NULL ,
[st] [int] NULL 
) ON [PRIMARY]
GO
以上是表
下面是存储过程:
CREATE PROCEDURE [update_mn_1]
(
@d1 float,
@d2 int
)
AS
DECLARE @n integer,
@i int
DECLARE youbiao1 CURSOR SCROLL 
FOR
SELECT * from mn
SET @n=1
OPEN youbiao1
FETCH NEXT FROM youbiao1 INTO @d1,@d2WHILE @@FETCH_STATUS=0
BEGINIF(@d1=6)
SET @n=@n+1IF(@n%2!=0) 
BEGIN
SET @i=1
WHILE(@i<=12)
BEGIN
IF(@d1>=1 and @d1<=3)
BEGIN
UPDATE mn
SET st=@i
WHERE sd =@d1
END
IF(@d1<=5 and @d1>=4)
CONTINUE
SET @i=@i+1
END
END
ELSE IF(@n%2=0)
BEGIN
SET @i=12
WHILE(@i>=1)
BEGIN
IF(@d1>=1 and @d1<=3)
BEGIN
UPDATE mn
SET st=@i
WHERE sd =@d1
END
IF(@d1<=5 and @d1>=4)
CONTINUE
SET @i=@i-1
END
END
FETCH NEXT FROM youbiao1 INTO @d1,@d2
ENDCLOSE youbiao1
DEALLOCATE youbiao1GO