|
存储过程
特定功能的的SQL指令 进行封装 编译之后存储在数据库服务器中客户端通过名字调用这个SQL指令集
优点: 防止SQL 在网络中恶意修改 无需客户端编写 通过网络传送
存储过程 SQL存在逻辑关系 支持流程控制 分支 循环
基本语法
创建存储过程 输入参数 a 输入参数b 都是 int 类型 输出参数是 c 也是 int类型- CREATE PROCEDURE proc_test(in a INT,in b INT,OUT c INT)
- BEGIN
- # 设置C的值
- SET c = a + b;
- END
- # 调用存储过程
- set @Num = 0;# 定义一个变量
- CALL proc_test(100,100,@Num)
- SELECT @Num # 查询变量的数据
复制代码 存储过程变量
1.0 存储过程的变量 分为 局部和全局变量 这个变量的作用域和 Java的类似 局部变量
只能在存储过程中使用- CREATE PROCEDURE proc_test2(out c INT)
- BEGIN
- # 定义局部变量 默认是 0 数据类型是 整型
- declare x int DEFAULT 0;
- declare y int DEFAULT 1;
- set c = x + y;
- END
复制代码 2.0 定义用户变量(全局变量) 全局变量是 共享的 开发少使用全局变量 不好维护3.0 把查询的结果 存储在 变量中- # 创建存储过程
- CREATE PROCEDURE proc_getID(out x int)
- BEGIN
- # 查询 这个表 name = jon 这个人的 id 赋值给 x
- SELECT id INTO x FROM girl where `name` = 'Jon';
- END
- # 定义变量
- SET @id = 0;
- # 调用
- CALL proc_getID(@id)
- # 查询
- SELECT @id
复制代码 来源:https://www.cnblogs.com/lwms/p/17253395.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|