zoukankan      html  css  js  c++  java
  • 游标的使用实例(Sqlserver版本)

    游标,如果是之前给我说这个概念,我的脑子有二个想法:1、你牛;2、我不会

    不会不是理由,更不是借口,于是便要学习,本人属性喜欢看代码,不喜欢看书的人,所以嘛,文字对我没有吸引力;闲话少说啊,给大家提供一个我写的例子,先让大家用起来的,并且知道如何用的啊,想要深究,不要问我啊,自己看书去。。。

    游标,作为java人员,最好的理解就是java中的List,只是数据库有点懒,没有过多的对他管理,要自己打开,关闭,释放资源而已

     Demo1:

    declare mycur cursor for    ---申明游标mycur
    select name from t_stu
    
    open mycur    ---打开游标
    ---操作内容
    close mycur    ---关闭游标
    
    deallocate mycur   ---释放资源

    上边的一个Demo只是告诉大家游标的一些基本指令,其实没啥用,要在函数中,存储过程中使用游标才真的有用类,接下来,请看Demo2:    

    -->这个函数主要实现的功能是,传入表名,将该表的所有的列,拼成字符串返回回来。

    create function [dbo].[getCols]
    ( @table_name AS varchar(50) 
    )
    RETURNS varchar(2000)
    AS
    BEGIN
      DECLARE @colname VARCHAR(50)
      DECLARE @typename VARCHAR(50)
      DECLARE @result varchar(2000)  
      set @result = ''
      DECLARE mycur CURSOR FOR     ---定义游标
        select c.name as columnname,ty.name as typename
            from sys.columns c 
            inner join sys.tables t on t.object_id=c.object_id
            inner join sys.types ty on ty.system_type_id=c.system_type_id
            where t.name = @table_name and ty.name !='sysname'        ---传入参数@table_name
            order by t.name,c.column_id
    
        OPEN mycur       ---打开游标
        FETCH NEXT FROM mycur into        ----获取下一条数据
        @colname,@typename                ----将获取的数据保存到变量中
        
        WHILE @@FETCH_STATUS = 0         ----返回上次执行Fetch命令的状态,0:成功 -1:失败 -2:被提取的行不存在
            BEGIN
                if @result = null or @result = ''
                begin
                   SET @result = @colname
                end
                else
                begin
                   SET @result = @result + ',' + @colname    
                end
            FETCH NEXT FROM mycur into    ---获取下一条数据
                  @colname,@typename 
            END
        CLOSE mycur       ---关闭游标
            DEALLOCATE mycur   ----释放资源
      RETURN @result
    END
  • 相关阅读:
    JMeter参数化及断言的使用
    JMeter基础概念
    postman关联
    postman参数化
    postman发送请求的简单操作
    postman的简单介绍及运用
    javascript小记五则:用JS写一个图片左右自由滚动的“跑马灯”效果
    javascript小记四则:用JS写一个滚动横条文字,可以根据需要进行修改;
    javascript小记三则:ASP.NET启动web调试,窗体自动放大的方法
    JavaScript小记二则:接上一节:用.net写Textbox控件关于数字的判断的另一则方法
  • 原文地址:https://www.cnblogs.com/xiaotao726/p/4713156.html
Copyright © 2011-2022 走看看