一个遍历的例子

strSql = "SELECT tb.location,tb.levl,tb.whereuse,tb.partno,tb.dateto,tb.datefrom,iim.idesc " & _
"FROM (SELECT LEVEL as levl,GET_LOCATION_CHARLEY (bprod,bseq)AS location, " & _
"mbm.bprod AS whereuse,mbm.bchld AS partno,mbm.bddis as dateto, " & _
"mbm.bdeff as datefrom " & _
"FROM mbm " & _
"WHERE mbm.bdeff <= '" & strDate & "' " & _
"AND mbm.bddis >= '" & strDate & "' " & _
"AND bid='BM' " & strFacilCondit & _
"START WITH bprod = '" & strParentNo & "' " & _
"CONNECT BY prior bchld = bprod " & _
"ORDER BY bprod,bchld) tb,iim " & _
"WHERE tb.partno = iim.iprod " & _
"AND iim.iid = 'IM' order by whereuse,levl"

Oracle函数

FUNCTION GET_LOCATION_CHARLEY(
strProd IN VARCHAR2,
strSeq IN VARCHAR2
)
RETURN VARCHAR2 AS

strLocate VARCHAR2(100);
strLocateAll VARCHAR2(500);

CURSOR locat_together IS SELECT pndes FROM mpn WHERE pnprod = strProd AND pnopn = strSeq;
BEGIN
OPEN locat_together;
LOOP
FETCH locat_together into strLocate;
EXIT WHEN locat_together%NOTFOUND;
strLocateAll := strLocateAll || ',' || strLocate;
END LOOP;
IF RTRIM(strLocateAll) IS NOT NULL THEN
IF LTRIM(strLocateAll) IS NOT NULL THEN
strLocateAll := SUBSTR(strLocateAll,2,length(strLocateAll));
END IF;
END IF;
CLOSE locat_together;
RETURN strLocateAll;
END;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值