存储过程定义语法
admin
2023-05-16 12:42:33
0

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

相关内容

热门资讯

以“第一”之名赴强军之约(强军... 运—20A飞机在飞行中释放干扰弹。刘 川摄火箭军某部官兵正在集结登车。刘志词摄武警安徽总队合肥支队官...
金融时报:特朗普改口,伊朗已在... 当地时间8月2日,英国《金融时报》发文《伊朗在对特朗普政府的战争中占据主动权》。文章分析,经过半年的...
男孩在街边配电箱边玩耍时触电昏... 8月1日,河南三门峡灵宝市,有网友发视频称,一个男孩在桃林街上的一个配电箱旁触电晕倒,视频显示,急救...
遥控板按开关电视机啪的一声电视... 遥控板按开关电视机啪的一声电视没有电源了正常情况下遥控板按开关不会引起电视没有电源的问题,出现此类问...
按下启动键脱水嗡嗡响 1、脱水时转速高。2、衣物放置不平整。3、洗衣机放置的位置有问题。4、洗衣机内有异物存在。5、排水阀...
热水器复位键按下弹起 热水器复位键按下弹起:可能是热水器遥控器无法使用,或是遥控器电量耗尽,可以更换电池再使用;热水器频繁...
热水器开关是一直开着还是不用就... 不用就关,要是常年一直二十四小时开着,极易造成超负荷运行,热水器本身的使用时间就不久,要是二十四小时...
冰柜有个加热灯是开还是关 不需要关注具体的开关状态,因为冰箱在实际工作的过程当中,内部都会安装相应的自动感温装置,根据用户的设...
日本最新民调公布:76%民众支... 日本《琉球新报》2日报道,日本舆论调查协会8月1日公布的一项最新民意调查结果显示,76%的日本民众认...
疯狂降智的谷歌,彻底沦为“美国... 如果要问,现在谁家的AI能力最强?ChatGPT、Claude、DeepSeek各有千秋,吵上三天三...