• mysql 存储过程


    数据库的存储过程在正常的线上应用是不会用到了,至少在我工作的这么些年,很少再遇到存储过程。

    但在现实的测试过程中,为了快速修改一些数据,还是需要使用到存储过程。

    设置的参数的IN, OUT, INOUT 

    IN 表示调用者向过程传入值, OUT 表示过程向调用者传出值, INOUT 前两者的结合

    create  procedure in_param(in p_in int)

        begin 

            select  p_in;

            set p_in = 2 ;

            select  p_in;

       end 

    set @p_in = 1;

    call  in_param(@p_in)

    declare 定义变量,需要在存储过程中开始

    DECLARE    l_int  int  unsingned  default 3000;

    set  @y = 'good bye'

    自己在实际测试过程中,为了快速修改数据:

    # 修改订单、订单还款计划的起息日,止息日,还款时间,将所有的时间往前推 @days 天, @order_id修改具体的订单;

    drop PROCEDURE if EXISTS change_date;

    CREATE PROCEDURE change_date()

    begin 

    set @days = 30;

    set @order_id = 329221048420433920;

    UPDATE inve**nt.order_**ord set s**e = @days where order_id = @order_id;

    UPDATE inve**nt.order_**ord set  fin**ype = @days where order_id = @order_id;

    UPDATE  inv**nt.order_**ord set **_time = **_time - @days*86400000,  start_**_date = start_**t_date - @days*86400000, end_**_date = end_**_date - @days*86400000

    , repa**_date = repa**_date - @days*86400000 , mo**_time = mo**_time - @days*86400000  where order_id =@order_id ;

    UPDATE inv**nt.order_**ent set  start_**_date = start_**_date - @days*86400000 , end_**date = end_**t_date - @days*86400000,

    **_date = **_date - @days*86400000 , **_time =**_time - @days*86400000, **_time = **_time - @days*86400000  where order_id = @order_id ;

    COMMIT;

    end;

    调用:

    CALL  change_date();

    有时候在进行一些循环操作数据的时候也是可以使用到存储过程的。

    mysql 存储过程:https://www.runoob.com/w3cnote/mysql-stored-procedure.html

    CREATE [DEFINER = { user | CURRENT_USER }]  PROCEDUREsp_name([proc_parameter[,...]]) [characteristic ...] routine_bodyproc_parameter: [ IN | OUT | INOUT ] param_nametypecharacteristic: COMMENT'string' | LANGUAGESQL | [NOT] DETERMINISTIC | { CONTAINSSQL | NOSQL | READSSQLDATA | MODIFIESSQLDATA } | SQLSECURITY { DEFINER | INVOKER } routine_body:   ValidSQLroutinestatement [begin_label:] BEGIN   [statement_list]     …… END [end_label]

  • 相关阅读:
    smarty基础
    smarty变量
    Google的Python代码格式化工具YAPF详解
    性能监控工具YourKit
    Scala学习笔记2
    Scala介绍
    线段树
    字符串分割方法
    Trie树
    Scala 学习笔记
  • 原文地址:https://www.cnblogs.com/yingchen/p/11827018.html
Copyright © 2020-2023  润新知