zoukankan      html  css  js  c++  java
  • 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]

  • 相关阅读:
    HDU 1022 Train Problem I
    HDU 1702 ACboy needs your help again!
    HDU 1294 Rooted Trees Problem
    HDU 1027 Ignatius and the Princess II
    HDU 3398 String
    HDU 1709 The Balance
    HDU 2152 Fruit
    HDU 1398 Square Coins
    HDU 3571 N-dimensional Sphere
    HDU 2451 Simple Addition Expression
  • 原文地址:https://www.cnblogs.com/yingchen/p/11827018.html
Copyright © 2011-2022 走看看