利用函数查找数据

alter function [dbo].[Select_Data]
(
)returns nvarchar(500) as

begin

 --最小值
 declare @bamin_amt decimal(18,2)
 --需要数量
 declare @mtr_amt decimal(18,4)
 --要返回的字段
 declare @returns as nvarchar(100)
 --订单单号
 declare @mtr_no as nvarchar(20)
 --规格
 declare @mtr_dim as nvarchar(20)
 
 set @returns=''
 set @bamin_amt=0
 set @mtr_amt=0
 set @mtr_dim=''
 set @mtr_no=''
 
 --新建指针
    declare sor_1 cursor local
    for
       --将要获取的字段放入指针
       select barmin_amt,mtr_amt,mtr_dim,mtr_no
       from barcode_baramt_p
       where ISNULL(barmin_amt,0)>=ISNULL(mtr_amt,0)
       --打开指针
       open sor_1
       --将指针的字段放入临时变量
       fetch sor_1 into @bamin_amt,@mtr_amt,@mtr_dim,@mtr_no
       --循环指针
       while @@Fetch_Status = 0
             begin
    --要操作的内容
    begin
     set @returns=ISNULL(@returns,'')+'订单单号:'+@mtr_no
             +' 规格'+@mtr_dim
             +' 安全数量:'+ cast(@bamin_amt as nvarchar(20))
                +' 数量:'+ cast(@mtr_amt as nvarchar(20))
    end
    --将指针移动至下一个字段
                fetch next from sor_1 into  @bamin_amt,@mtr_amt,@mtr_dim,@mtr_no
                             
             end
       --关闭指针
       close sor_1
       --清除指针缓存
       deallocate sor_1
 
       --去除最后一个逗号
       --select  @return = left(@return , len(@return) - 1)
       
 --返回
 return isnull(@returns,'')
end


--执行函数
select [dbo].[Select_Data]()

 

在JS中利用递归查找数据,通常是对一个复杂的数据结构进行遍历,例如一个多层级的嵌套对象或数组。以下是一个利用递归查找对象中某个属性的示例代码: ```js function findProp(obj, prop) { if (obj.hasOwnProperty(prop)) { return obj[prop]; } for (let key in obj) { if (typeof obj[key] === 'object') { const result = findProp(obj[key], prop); if (result) { return result; } } } return null; } ``` 这个函数接受两个参数,第一个是要查找的对象,第二个是要查找的属性名。首先判断当前对象是否有该属性,如果有则直接返回属性值;否则遍历对象的每个属性,如果属性值是一个对象,则递归调用函数继续查找,直到找到属性为止。如果最终没有找到该属性,则返回 null。 类似地,如果要查找一个多层级嵌套的数组中的某个值,也可以使用递归实现。以下是一个示例代码: ```js function findValue(arr, target) { for (let i = 0; i < arr.length; i++) { const item = arr[i]; if (Array.isArray(item)) { const result = findValue(item, target); if (result) { return result; } } else if (item === target) { return item; } } return null; } ``` 这个函数接受两个参数,第一个是要查找的数组,第二个是要查找的值。遍历数组中的每个元素,如果当前元素是一个数组,则递归调用函数继续查找,直到找到目标值为止。如果最终没有找到该值,则返回 null。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值