• SQl编程存储过程


    过程化存储

    • 存储过程,一组为完成特定功能、经过编译后存储在数据库中的SQL语序集

      • 灵活性:存储过程中可以进行流程控制和循环操作来完成复杂的判断和运算

      • 一致性:通过存储过程可以使一些关联的操作一起发生,从而维护了数据库的完整性

      • 高效性:存储过程有效减少了数据库开发人员和程序员的工作量
    • 语法

    CREATE PROCEDURE SP_NAME(IN PRAM TYPE, OUT PRAM TYPE);
    IN 表示传入参数 默认不写时表示传入 TYPE 表示类型 
    OUT 表示传出参数 TYPE表示类型
    INOUT 可以使一个传入参数在存储过程中被修改 并传出
    存储过程内部语句以”;”结尾,因此在定义存储过程中需要切换控制台的命令结束符号 以避免歧义,可以使用DELIMITER //
    
    • 调用
    调用存储过程使用 CALL SP_NAME()
    删除存储过程 DROP PROCEDURE SP_NAME
    查看已定义存储过程     SHOW PROCEDURE STATUS/SHOW CREATE PROCEDURE SP_NAME(详细信息)
    
    • 创建数据库
    `create database if not exists demo1 default  character set 'utf8';`
    
    • 创建数据表
    CREATE TABLE `user` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(32) DEFAULT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    
    • 定义结束符号
    -- 定义 结束符
    DELIMETER $$
    
    • 函数无参数
    `CREATE PROCEDURE loop_insert_post()
    BEGIN
    DECLARE i INT;
    SET i = 1;
    WHILE i<1000 DO
    INSERT INTO user(`name`,`addtime`)values(concat('JM',i),now());
    SET i = i+1;
    END WHILE;
    END $$`
    
    • 调用函数
    -- 调用函数
    CALL loop_insert_post //
    
    • 恢复mysql 默认结束符
    DELIMETER ;
  • 相关阅读:
    0505.Net基础班第十四天(winform基础)
    0505.Net基础班第十三天(面向对象多态)
    Z-index
    div的padding和margin
    隐藏div,文本框角圆滑,消除外边框
    页面加载完成之后运行方法里的内容,隐藏标签,判断字符串里面是否包含某个字符
    CSS命令
    漂浮
    电子时钟
    用二维数组存数据(学科成绩、总分以及平均值)
  • 原文地址:https://www.cnblogs.com/xinjie123/p/10963046.html
Copyright © 2020-2023  润新知