• ADADADADAD

    存储过程定义语法[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:12:22

    作者:文/会员上传

    简介:

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

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    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

    存储过程定义语法.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql