SQL游标再次巩固

游标一般格式:
DECLARE 游标名称 CURSOR FOR SELECT 字段1,字段2,字段3,... FROM 表名 WHERE ...
OPEN 游标名称
FETCH NEXT FROM 游标名称 INTO 变量名1,变量名2,变量名3,...
WHILE @@FETCH_STATUS=0
        BEGIN
                  SQL语句执行过程... ...
                  FETCH NEXT FROM 游标名称 INTO 变量名1,变量名2,变量名3,...
        END
CLOSE 游标名称
DEALLOCATE 游标名称 (删除游标)

示例代码如下:

create function GetItemValue(@PCID nvarchar(36))
returns nvarchar(500)
begin
    declare @item nvarchar(50)
    declare @selsql nvarchar(500)
    set @selsql=''
 --  1、定义游标
    declare curitem cursor for      
    select itemValue from thclx where pcid=@PCID
 -- 2、打开游标
    open curitem
 -- 3、使用游标
    
    fetch next from curitem into @item --将游标向下移1行,获取的数据放入之前定义的变量@item
    while @@fetch_status=0     --判断是否成功获取数据
    begin 
    set @selsql =@selsql+@item+','    -- 执行的操作
    fetch next from curitem into @item
    end
    --  4、关闭游标
    close curitem
    --  5、销毁游标
    deallocate curitem
    set @selsql =substring(@selsql,0,len(@selsql)-1)
    return @selsql
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值