zoukankan      html  css  js  c++  java
  • 返回一个表的自定义函数

    ALTER function [dbo].[F_GetOrderData]
    (
        @OrderNO varchar(30)
    )
    RETURNS @ContentData TABLE
    (
        OrderNO varchar(20),
        type_C_P  varchar(200) default ('') --类别,成份,百分比合在一起

    )
       as
        begin
            declare @typeTemp_P varchar(200) ,@TypeTemp2 varchar(200)
            declare @typeC_P varchar(200)
            select @typeTemp_P='null',@TypeTemp2='',@typeC_P=''
            declare @curOrderNO varchar(200)
            declare @Type varchar(200)
            declare @Content varchar(200)
            declare @Percentage varchar(200)
            declare @rownum int
            select @rownum= count(*)from O_OrderContent where [OrderNO]=@OrderNO
            if @rownum<0    
                return
            else     
             declare mycursor cursor for (select [OrderNO],[Type],[Content],[Percentage] from O_OrderContent where [OrderNO]=@OrderNO)  --声明游标
             open mycursor --打开游标
               --从游标里取出数据库赋值到我们刚才声明的2个变量中
              fetch next from mycursor into @curOrderNO,@Type,@Content,@Percentage
               --判断游标的状态 0 fetch语句成功 -1语句失败 -2不提取的不存在
               while(@@fetch_status=0)
               begin
                if (@Type<>@typeTemp_P)
                    select @TypeTemp2='|'+@Type+': '
                else
                    select @TypeTemp2=''
                    set @typeC_P=@typeC_P+convert(nvarchar,@TypeTemp2)+convert(nvarchar,@Percentage+'%'+' ')+convert(nvarchar,@Content+',')   
                    set @typeTemp_P=@Type --赋值给临时变量,以便下次判断    
                    fetch next from mycursor into @curOrderNO,@Type,@Content,@Percentage
         end
         
        set @typeC_P=substring(@typeC_P,2,len(@typeC_P)) --把第一个 | 支掉
        set @typeC_P=substring(@typeC_P,1,len(@typeC_P)-1) --把最后一个,去掉
        set @typeC_P=replace(@typeC_P,',|','|')
        insert into @ContentData(OrderNO,type_C_P)values(@OrderNO,@typeC_P)
       --关闭游标
       close mycursor
       --撤销游标
       deallocate mycursor
       --select * from @ContentData
       RETURN
     end

  • 相关阅读:
    leetcode Convert Sorted List to Binary Search Tree
    leetcode Convert Sorted Array to Binary Search Tree
    leetcode Binary Tree Level Order Traversal II
    leetcode Construct Binary Tree from Preorder and Inorder Traversal
    leetcode[105] Construct Binary Tree from Inorder and Postorder Traversal
    证明中序遍历O(n)
    leetcode Maximum Depth of Binary Tree
    限制 button 在 3 秒内不可重复点击
    HTML 和 CSS 画三角形和画多边行基本原理及实践
    在线前端 JS 或 HTML 或 CSS 编写 Demo 处 JSbin 与 jsFiddle 比较
  • 原文地址:https://www.cnblogs.com/yzenet/p/2573128.html
Copyright © 2011-2022 走看看