存储过程基本语法

打印 上一主题 下一主题

主题 1016|帖子 1016|积分 3048

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
存储过程

特定功能的的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
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

没腿的鸟

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表