翼度科技»论坛 编程开发 mysql 查看内容

存储过程基本语法

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
存储过程

特定功能的的SQL指令 进行封装 编译之后存储在数据库服务器中客户端通过名字调用这个SQL指令集
优点: 防止SQL 在网络中恶意修改 无需客户端编写 通过网络传送
存储过程 SQL存在逻辑关系 支持流程控制 分支 循环
基本语法

创建存储过程 输入参数 a 输入参数b 都是 int 类型 输出参数是 c 也是 int类型
  1. CREATE PROCEDURE proc_test(in a INT,in b INT,OUT c INT)
  2. BEGIN
  3.         # 设置C的值
  4.          SET c = a + b;
  5. END
  6. # 调用存储过程
  7. set @Num = 0;# 定义一个变量
  8. CALL proc_test(100,100,@Num)
  9. SELECT @Num # 查询变量的数据
复制代码
存储过程变量

1.0 存储过程的变量 分为 局部和全局变量 这个变量的作用域和 Java的类似 局部变量
只能在存储过程中使用
  1. CREATE PROCEDURE proc_test2(out c INT)
  2. BEGIN
  3.      # 定义局部变量 默认是 0 数据类型是 整型
  4.          declare  x  int DEFAULT  0;
  5.          declare  y  int  DEFAULT 1;
  6.          set c = x + y;
  7. END
复制代码
2.0 定义用户变量(全局变量) 全局变量是 共享的  开发少使用全局变量 不好维护
  1. set @num = 0; # 定义全局变量
复制代码
3.0 把查询的结果 存储在 变量中
  1. # 创建存储过程
  2. CREATE PROCEDURE proc_getID(out x int)
  3. BEGIN
  4.    # 查询 这个表 name = jon 这个人的 id 赋值给 x
  5.         SELECT id INTO x FROM girl where `name` = 'Jon';
  6. END
  7. # 定义变量
  8. SET @id = 0;
  9. # 调用
  10. CALL proc_getID(@id)
  11. # 查询
  12. SELECT @id
复制代码
来源:https://www.cnblogs.com/lwms/p/17253395.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具