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-10-17 13:05:17
简单的存储过程示例的相关文章
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语句每