| 网站首页 | 模板 | 资料 | 源码 | 工具 | 开发 | 设计 | 安全 | 项目 | 网络 | 图片 | 系统 | 数据库 | 博客 | 会员中心 | 小说 | 
MYFTP 精品资料下载
网络学院
学习资料
源码模版
您现在的位置: 精品下载 >> 数据库 >> Oracle >> 数据库正文 用户登录 新用户注册
ORACLE 截断字符串          【字体:
ORACLE 截断字符串
作者:佚名    数据库来源:不详    点击数:    更新时间:2008-6-27

create or replace procedure ModifyLadingItemPack
(
  ASoditemguid varchar2,                  --合同电子仓单明细GUID
  ALadingitemGUID varchar2,               --提单子项GUID
  ACDResID varchar2,                      --电子仓单号
  APackageIDList varchar2,                --仓单捆包详细GUID列表
  Aladingnum float,
  Aladingpieces float,
  AReturnValue out integer                --返回值:
)
is
  ALadingItem_PackagesGUID varchar(32);
  ATempIDList varchar2(4000);
  AID varchar2(32);
  APackageWeight float;
  APackagePiece float;
  ATotalPackWeight float;
begin
  AReturnValue := 1;
  ATempIDList := APackageIDList;
  APackageWeight :=0;
  APackagePiece :=0;

   ---------------------------------更新合同电子仓单明细---------------------------


  while ( INSTR(ATempIDList,':' ) > 0 ) or ( LENGTH(ATempIDList ) > 0 ) loop
        if INSTR(ATempIDList,':' ) > 0 then

           select sys_guid() into ALadingItem_PackagesGUID from dual;
           AID := SUBSTR(ATempIDList ,1,INSTR( ATempIDList,':') - 1 );
           ATempIDList := SUBSTR(ATempIDList,INSTR( ATempIDList,':') + 1 , LENGTH(ATempIDList) - INSTR(ATempIDList,':'));

           ---------------------------------提单捆包明细----------------------------------
           insert into HT_LadingItem_packages(sGUID, sLadingItemGUID, sCDResID, sPackageID)
          values(ALadingItem_PackagesGUID, ALadingitemGUID, ACDResID,AID);

           ---------------------------------更新仓单捆包明细状态---------------------------
           UPDATE ZY_Packages SET state = 5 WHERE SGUID = AID;

           select fWeight into ATotalPackWeight from ZY_Packages where sGUID=AID;

           APackageWeight:=APackageWeight+ATotalPackWeight;
           APackagePiece:=APackagePiece+1;


        else
           AID := ATempIDList;
           ATempIDList := '';
        end if;
   end loop;

   update HT_SODItem set fLadingNum=fLadingNum+APackageWeight,fLadingPieces=fLadingPieces+APackagePiece
   where sGUID=ASoditemguid;

  COMMIT;
EXCEPTION
  WHEN OTHERS THEN BEGIN
    AReturnValue := 99;
    ROLLBACK;
  END;
end;

(出处:网侠)

数据库录入:chqnet    责任编辑:chqnet 
  • 上一个数据库:

  • 下一个数据库:
  • 最新热点 最新推荐 相关数据库
    oracle修改计算机名后重启服…
    oracle 存储过程的基本语法
    oracle数据库文件中的导入\导…
    实例讲解Oracle里抽取随机数…
    Oracle 9i应用COMPOSE和UNIS…
    如何在oracle存储过程中返回…
    oracle 10g 安装中一些问题解…
    迅速安装Linux与Oracle数据库…
    八个学习点帮助你全面认识Or…
    利用Oracle管理服务器将数据…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)