存储过程定义语法

简介:

CREATE  PROCEDURE `addTicket`(in vipsql VARCHAR(255),in ordersql VARCHAR(255),in detailkey varchar(255),in detailsql VARCHAR(255)) comment '挂单(售药窗口)'

BEGIN

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION ,NOT FOUND

rollback;

start transaction;

set @vid=@oid='';

set @outstr='';

set @errcode=200;

set @errmsg='成功';

if vipsql=0 then

set @tem=vipsql;

prepare tem from @tem;

execute tem;

set @rows=row_count();

if @rows<=0 then

set @errcode=501;

set @errmsg='插入到【会员表】失败';

rollback;

end if;

set @vid=LAST_INSERT_ID();

else

set @vid=vipsql;

end if;

select order_outpatient_num into @cnum from `order` order by order_outpatient_num desc limit 1;

if locate(curdate()+0,@cnum)=0||@cnum='' then

set @cnum=concat(curdate()+0,'00000001');

else

set @cnum=@cnum+1;

end if;

set ordersql=concat(ordersql,"'",@vid,"','",@cnum,"')");

set @ordersql=ordersql;

prepare temp from @ordersql;

execute temp;

set @rows=row_count();

if @rows<=0 then

set @errcode=502;

set @errmsg='插入到【订单表】失败';

rollback;

end if;

set @oid=LAST_INSERT_ID();

set @num=(length(detailsql)-length(replace(detailsql,'*#*','')))/3+1;

set @i=1;

while @i<=@num do

if @i=1 then

set @strsql=substring_index(detailsql,'*#*',@i);

else

set @strsql=substring_index(detailsql,'*#*',@i);

set @strsql=substring_index(@strsql,'*#*',-1);

end if;

set @outstr=concat(@outstr,@strsql,"'",@cnum,"','",@oid,"'),");

set @i=@i+1;

end while;

set @outstr=concat(detailkey,@outstr);

set @outstr=left(@outstr,char_length(@outstr)-1);

prepare temp0 from @outstr;

execute temp0;

set @rows=row_count();

if @rows<=0 then

set @errcode=503;

set @errmsg='插入到【订单详情表】失败';

rollback;

end if;

commit;

select @errcode as errcode,@errmsg as errmsg;

END


本文转自 Lee_吉  博客,原文链接:  http://blog.51cto.com/12173069/1960356      如需转载请自行联系原作者


相关文章
|
3月前
|
人工智能 开发者 前端开发
【创新·未来】当AI遇见代码:Vaadin Copilot引领Web开发新时代,你准备好了吗?
【8月更文挑战第31天】Vaadin 是一个成熟的 Java Web 应用框架,最新版本 24.4.0 带来了多项更新,包括引入 Vaadin Copilot——一个集成 AI 的开发工具,可实现拖放组件、实时更新源代码等功能。此外,Vaadin 24.4.0 还统一了 Hilla 框架,支持 Flow 和 Hilla 视图混合应用,实现 React 组件与 Java 应用的无缝集成。未来,Vaadin 将继续提升开发者体验和应用性能,整合更多现代 Web 技术,如 Web 组件和 PWA 支持,保持其在企业级应用开发领域的领先地位。
56 0
|
5月前
|
存储 机器学习/深度学习 SQL
SQLSERVER存储过程语法详解
SQLSERVER存储过程语法详解
350 0
|
5月前
|
存储 SQL 关系型数据库
MySQL数据库——存储过程-变量(系统变量、用户定义变量、局部变量)
MySQL数据库——存储过程-变量(系统变量、用户定义变量、局部变量)
316 0
|
5月前
|
存储 SQL 关系型数据库
MySQL数据库——存储过程-介绍以及基本语法(特点、创建、调用、查看、删除、示例)
MySQL数据库——存储过程-介绍以及基本语法(特点、创建、调用、查看、删除、示例)
127 0
|
6月前
|
存储 SQL 定位技术
数据库基础(六):T-SQL语言程序设计、游标定义与使用及存储过程创建与信息查找
数据库基础(六):T-SQL语言程序设计、游标定义与使用及存储过程创建与信息查找
105 1
|
存储 SQL Oracle
Oracle存储过程~基本语法
Oracle存储过程~基本语法
|
SQL 存储 关系型数据库
|
存储
存储过程的语法讲解
在上一篇文章:别再说不知道什么是存储过程和存储函数了中简单的介绍了存储过程和存储函数以及其使用。其实存储过程是可以进行编程的,所以可以和其他的编程语言一样使用变量、表达式以及控制结构进行编程,从而实现一些复杂和有用的功能。
241 0
存储过程的语法讲解
|
存储 Oracle 关系型数据库
Oracle存储过程迁移ODPS-03(专有云):ODPS1.0支持exists语法
专有云目前还有不少ODPS1.0版本,主要是应对V3之前的平台版本。这个版本的ODPS不支持exists语法,如何换种写法实现。
3018 0
下一篇
无影云桌面