存储过程基本语法

存储过程

特定功能的的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 定义用户变量(全局变量) 全局变量是 共享的 开发少使用全局变量 不好维护

set @num = 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

热门相关:首席的独宠新娘   仗剑高歌   豪门闪婚:帝少的神秘冷妻   天启预报   霸皇纪