zoukankan      html  css  js  c++  java
  • mysql

    类似于java的方法

    1. 创建:

    
    
    DELIMITER $$   #设置存储过程结束标记,防止混淆,这个符号可以自己设,用完后要改回';'
    CREATE PROCEDURE pro_test( IN 参数名 类型 , OUT 参数名 类型, INOUT 参数名 类型)  #表示传入参数,输出参数,同时输入输出的参数,可以多个。
    BEGIN
        #sql语句
    END $$
    DELIMITER ;

    2. 使用:

    call 存储过程名(参数列表)

    例子1:无参数

    DELIMITER $$
    CREATE PROCEDURE pro_test_no_parameter()
    BEGIN
        INSERT INTO userinfo VALUES(7,'person1','1990-01-01');
    END $$
    DELIMITER ;
    
    CALL pro_test_no_parameter();

    命令行 和 sqlyog中不太一样- -sqlyog中可以的命令行一定可以, 命令行可以的sqlyog有时不好用。。。所以都用sqlyog测试

    例子2:无参数有变量

    DELIMITER $$
    CREATE PROCEDURE pro_test_no_parameter1()
    BEGIN
        DECLARE a INT;
        SET a = 8;
        INSERT INTO userinfo VALUES(a,'person2','1990-02-02');
    END $$
    DELIMITER ;
    
    CALL pro_test_no_parameter1();

    例子3:有参数

    #创建
    DELIMITER $$
    CREATE PROCEDURE pro_test_parameter( IN input INT, OUT output VARCHAR(20), INOUT param INT)
    BEGIN
        SET param = param + 1;
        SELECT username INTO output FROM userinfo WHERE uid = input;
    END $$
    DELIMITER ;
    
    #使用
    SET @p = 2;
    CALL pro_test_parameter(1, @output, @p);
    SELECT @output,@p;  #显示结果

    3. 删除:

    drop procedure 存储过程名;

    4.查看存储结构结构:

    show create procedure pro_test_no_parameter;

    不能修改内部的sql语句。

  • 相关阅读:
    python定义函数时的默认返回值
    【UNIX网络编程】配置unp.h和apueerror.h
    【UNIX网络编程】套接字编程简介
    【UNIX网络编程】概述
    【VSCode】Ubuntu下VSC编译运行c++程序
    【UNIX网络编程】传输层:TCP、UDP和SCTP
    nginx跨域配置
    centOS7.*安装nginx和简单使用
    nginx日志切割
    nginx静态资源防盗链
  • 原文地址:https://www.cnblogs.com/clamp7724/p/11797884.html
Copyright © 2011-2022 走看看