简单的存储过程示例

declare
  cusCode      varchar2(255);
  cusId        number(19);
  bindStatus   varchar2(255);
begin
  For cus in (select *
                from gt_ali_order t
               where (t.status_type = ‘WAITACCEPT‘ or
                     t.status_type = ‘ACCEPT‘)
                 and t.gmt_commit >
                     to_date(‘20150707 000000‘, ‘yyyyMMdd hh24miss‘)
                 and t.gmt_commit < to_date(‘20150715 000000‘, ‘yyyyMMdd hh24miss‘)) loop
    select gt_sys_customer_seq.nextval into cusCode from dual;
    while (length(cusCode) < 7) loop
      begin
        cusCode := ‘0‘ || cusCode;
      end;
    end loop;
    select gt_sys_customer_seq.nextval into cusId from dual;
    dbms_output.put_line(cusCode || ‘---‘ || cusId);
    if(cus.status_type=‘ACCEPT‘) then
       bindStatus:=‘BIND‘;
    else
      bindStatus:=‘NEW_ADDRESS‘;
    end if;
    insert into gt_sys_customer
      (ID,
       CREATED_TIME,
       CREATOR_ID,
       LOCK_VERSION,
       CUS_CODE,
       CUS_NAME,
       CUS_FULL_NAME,
       CUS_LINKMAN,
       CUS_PHONE1,
       CUS_ADDRESS,
       STATUS,
       OUT_CODE,
       ORIGIN,
       BINDING_STATUS,
       cus_Owner_Site_Code,
       cus_Owner_Site_Name,
       CUS_OWNER_SITE_ID,
       re_mark
       )
    values
      (cusId,
       sysdate,
       1,
       0,
       ‘V‘ || cusCode,
       cus.send_person,
       cus.send_company,
       cus.send_person,
       cus.send_phone,
       cus.send_address,
       ‘ENABLE‘,
       ‘A‘ || cusCode,
       ‘ALIBABA‘,
        bindStatus,
       cus.send_site_code,
       cus.send_site_name,
       cus.send_site_id,
       ‘sqlInsert‘
       );
    insert into gt_table_sync
      (id, table_name, cur_version, operate,re_mark)
    values
      (cusId, ‘SysCustomer‘, gt_table_sync_seq.nextval, ‘INSERT‘,‘sqlInsert‘);
    update gt_ali_order t
       set t.customer_id   = cusId,
           t.customer_code = ‘V‘ || cusCode,
           t.customer_name = t.send_person
     where t.logistic_id = cus.logistic_id;
  end loop;
end;

时间: 2024-08-08 05:36:56

简单的存储过程示例的相关文章

mysql 如何创建一个简单的存储过程

1 用mysql客户端登入2 选择数据库 mysql>use test3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test'4 创建一个简单的存储过程 mysql>create procedure hi() select 'hello'; 5 存储过程创建完毕,看怎么调用它 mysql>call hi();显示结果 mysql> call hi(); +-------+ | hello | +-------+

mysql 存储过程 示例代码

drop procedure if exists P_SEQUENCE; /** 暂省略包 @AUTO LIANGRUI 2014/6/27 T_PRO_PRODUCT 表 排序 对整个表进行按序号排序 根据序号从新自然排序 重复序号的安创建日期分配序号 测试阶段 测试调用 set @merid='TEST66'; call P_SEQUENCE(@merid); **/ create procedure P_PRODUCT_SEQUENCE( in v_merchar_id VARCHAR(1

[MySQL5.6] 一个简单的optimizer_trace示例

[MySQL5.6] 一个简单的optimizer_trace示例 前面已经介绍了如何使用和配置MySQL5.6中optimizer_trace(点击博客),本篇我们以一个相对简单的例子来跟踪optimizer_trace的产生过程. 本文的目的不是深究查询优化器的实现,只是跟踪optimizer trace在优化器的那一部分输出,因此很多部分只是一带而过,对于需要深究的部分,暂时标注为红色,后续再扩展阅读;之前一直没看过这部分代码,理解起来还是比较困难的… 我们以一个简单的表为例过一下opti

创建存储过程示例

CREATE OR REPLACE PROCEDURE P_XT_TEST_ZWL IS   TESTVALUE VARCHAR2(500);   LS_ERR    VARCHAR2(500); --错误日志 BEGIN SELECT H.SQLXH INTO TESTVALUE FROM CX_CXDY H WHERE ROWNUM < 3;  COMMIT; EXCEPTION   WHEN OTHERS THEN LS_ERR := '错误:' || SQLCODE || ': ' ||

Mysql 存储过程示例

DELIMITER $ CREATE PROCEDURE generate_Equipment(district INT,warehouseNO VARCHAR(10) ) BEGIN DECLARE l_no VARCHAR(50); DECLARE l_address VARCHAR(20) ; DECLARE l_name VARCHAR(20) ; DECLARE l_city VARCHAR(20) DEFAULT "天津"; DECLARE l_longitude DOUB

unity Dotween插件的简单介绍及示例代码

unity里面做插值动画的插件有许多,比较常见的有itween.hotween.dotween.根据大家的反馈和实际体验来说,dotween插件在灵活性.稳定性.易用性上都十分突出.这里简单介绍下它的用法,并在后文做了一些效果示例,还是不错的. 所谓"插值动画",顾名思义就是在两个值中插入其他的值来实现动画.原理非常简单,比如想让某个物体从A地到达B地,我们只知道A和B的坐标,插值动画就可以根据"缓动函数"确定A.B间的其他值,来实现物体从A到B的"运动过

SQL点滴28—一个简单的存储过程

原文:SQL点滴28-一个简单的存储过程 在表中写入一条数据同事要向另外一个表中写入信息,所以会使用到事务.实际使用的时候还会一次向一个表中吸入多条数据,下面的存储过程,将字符串拆分成数组然后写入到表中. /****** Object: StoredProcedure [dbo].[sp_InsertEmployee] Script Date: 09/17/2012 23:28:42 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO

简单的存储过程

一.创建存储过程 和数据表一样,在使用之前我们需要创建存储过程,它的简明语法是: QUOTE: CREATE PROC 存储过程名称 [参数列表(多个以“,”分隔)] AS SQL 语句 例:QUOTE: CREATE PROC upGetUserName @intUserId        INT, @ostrUserName NVARCHAR(20) OUTPUT               -- 要输出的参数 AS BEGIN -- 将uName的值赋给 @ostrUserName 变量,

存储过程之一—建立简单的存储过程

一.存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户 通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.而我们常用的操作数据库语言SQL语句在执行的时 候需要要先编译,然后执行,所以执行的效率没有存储过程高. 存储过程优点如下: 重复使用.存储过程可以重复使用,从而可以减少数据库开发人员的工作量. 提高性能.存储过程在创建的时候在进行了编译,将来使用的时候不再重新翻译.一般的SQL语句每