当前位置: 首页> 房产> 建材 > h5案例_网上广告设计接单平台_seo优化方案模板_整站优化方案

h5案例_网上广告设计接单平台_seo优化方案模板_整站优化方案

时间:2025/7/12 20:44:41来源:https://blog.csdn.net/m0_71192988/article/details/143189021 浏览次数:0次
h5案例_网上广告设计接单平台_seo优化方案模板_整站优化方案

1.存储过程

存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。

2.MySQL存储过程创建

        1.语法
#创建存储过程
CREATE PROCEDURE 存储过程名 ([[IN|OUT|INOUT]] 参数名 数据类型) 过程体;#删除存储过程
DROP PROCEDURE IF EXISTS 存储过程名;
#删除存储过程
DROP PROCEDURE IF EXISTS  adduser;#创建存储过程
CREATE PROCEDURE adduser(num DOUBLE)
BEGINUPDATE `user` SET money = money - num WHERE name = '张三';UPDATE `user` SET money = money + num WHERE name = '李四';
END;
        2.过程体
BEGIN过程体
END;过程体每条SQL语句用';'隔开
        3.参数

                IN:

                        不管存储过程里面的参数怎么改变,都不影响外部变量。
                OUT:

                        不管参数传入之前的定义是什么,在存储过程中都为null。
                        存储过程里面对参数的改变,都会影响外部变量。
                INOUT:

                        参数在外部定义后,会将定义的变量传入。

                        存储过程里面对参数改变,都会影响外部的变量。

#IN0
CREATE PROCEDURE add2(IN num INT(20))
BEGINSET num = 111;SELECT num;
END;SET @a = 123;
CALL add2(@a);
SELECT @a;

#OUT
CREATE PROCEDURE add3(OUT num INT(20))
BEGINSELECT num;SET num = 111;
END;SET @a = 123;
CALL add3(@a);
SELECT @a;

#INOUT
CREATE PROCEDURE add3(INOUT num INT(20))
BEGINSELECT num;SET num = 111;SELECT num;
END;SET @a = 123;
CALL add3(@a);
SELECT @a;

4.变量

        使用 DECLARE 定义变量(只能在存储过程、函数或触发器中使用)。

        变量赋值:

                1.使用 DEFAULT 默认赋值。

                2.使用 SET 赋值。

                3.使用 SELECT...INTO... 赋值。

DROP PROCEDURE IF EXISTS  add1;
CREATE PROCEDURE add1()
BEGIN#默认值DECLARE a INT(20) DEFAULT 1;DECLARE b INT(20);DECLARE c VARCHAR(255);#使用set为变量赋值SET b = 2;SELECT a;SELECT b;#使用SELECT...INTO...为变量赋值SELECT name INTO c FROM user WHERE id = 1; SELECT c;
END;CALL add1();

        用户变量:

                用于在 SQL 语句和存储过程之间传递数据。

                用法:

                        @变量名

                在使用用户变量之前,最好先初始化它,否则它的值将是 null。

        变量作用域:

                内部变量在其作用域范围内享有更高的优先权,当执行到end时,内部变量消失,不再可见了,在存储过程外再也找不到这个内部变量,但是可以通过out参数或者将其值指派给会话变量来保存其值。

5.调用存储过程
CALL 存储过程名;
6.分隔符

        MySQL默认以";"为分隔符,如果没有声明分割符,则编译器会把存储过程当成SQL语句进行处理,因此编译过程会报错。所以要事先用 "DELIMITER //" 声明当前段分隔符,让编译器把两个 "//" 之间的内容当做存储过程的代码,不会执行这些代码。"DELIMITER ;" 的意为把分隔符还原。

 

3.MySQL存储过程的控制语句

        1.条件语句

                IF-THEN-ELSE语句:

IF 条件 THENSQL语句;
END IF;
CREATE PROCEDURE methods()
BEGINDECLARE a INT;SET a = 1;IF a = 1 THENSELECT a;END IF;
END;CALL methods();

                CASE-WHEN-THEN-ELSE语句:

CASE 变量名WHEN 值1 THENSQL语句;WHEN 值2 THENSQL语句;ELSESQL语句;
END CASE;
CREATE PROCEDURE methods()
BEGINDECLARE a INT;SET a = 1;CASE aWHEN 0 THENSELECT '0',a;WHEN 1 THENSELECT '1',a;ELSESELECT '---',a;END CASE;END;CALL methods();
        2.循环语句

                WHILE-DO...END-WHILE语句:

WHILE 条件 DOSQL语句;
END WHILE;
CREATE PROCEDURE methods()
BEGINDECLARE a INT DEFAULT 0;WHILE a<5 DOINSERT INTO user (name,money) VALUES ('李明',1000);SET a=a+1;END WHILE;
END;CALL methods();

关键字:h5案例_网上广告设计接单平台_seo优化方案模板_整站优化方案

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: