28
2012
07

mssql方便的函数使用与游标使用练习

表数据:



执行结果:




新建函数:

GO  

/****** 对象:  UserDefinedFunction [dbo].[fun_get_class_nam]    脚本日期: 07/28/2012 07:26:23 ******/  

SET ANSI_NULLS ON  

GO  

SET QUOTED_IDENTIFIER ON  

GO  

/*****************************************************  

** PROCEDURE : fun_get_class_nam  

** DECRIPTION: 根据班级id获取班级名称  

** DATE      : 2010-07-28  

** VERSION      AUTH          DATE          DESC  

** --------  ------------  ------------  -----------------  

** V000.0.1    pukuimin     2010-07-28     新建程序  

** --------  ------------  ------------  -----------------  

*******************************************************/  

alter function [dbo].[fun_get_class_nam](  @class_id bigint  

                                 )  

returns varchar(200)  

as  

begin     

    declare @class_nam varchar(200)  

    set @class_nam = null  

    select @class_nam = className  

      from classinfo   

     where classID = @class_id AND stat='1'  

  

    return @class_nam  

END  



查询语句中使用函数:

SELECT  

    id,  

    username,  

    userpwd,  

    classID,  

    dbo.fun_get_class_nam(classID) AS classname,  

    score,  

    age  

FROM  

    stuinfo  



下面是游标的简单用法:

DECLARE cur CURSOR  --声明游标  

FOR  

SELECT score,age FROM stuinfo  

Open cur  --打开游标  

DECLARE @score int --接收游标数据的变量,与上面的声明游标查询语句的个数相同  

DECLARE @age int   

fetch Next from cur into @score,@age  --查询一次数据到变量  

WHILE (@@FETCH_STATUS = 0 )  --如果不为空就循环读取  

BEGIN  

    IF (@score<85 AND @age <18)  --对符合条件的进行操作  

        UPDATE stuinfo SET score = 888  

        WHERE  CURRENT OF cur   

    FETCH Next FROM cur INTO @score,@age  --查询下一条  

END  

CLOSE cur   --关闭游标  

DEALLOCATE cur  --释放游标  










版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。