存储过程--procedure

存储过程

  MySQL数据库在5.0版本后开始支持存储过程,那么什么是存储过程呢?怎么创建、查看和删除存储过程呢?存储过程有什么优点?

  1.概念:什么是存储过程:类似于函数(方法),简单的说存储过程是为了完成某个数据库中的特定功能而编写的语句集合,该语句集包括SQL语句(对数据的增删改查)、条件语句和循环语句等。

 2. 查看现有的存储过程

1 show procedure status;

 3 .删除存储过程

1 drop procedure 存储过程名称;

  4. 调用 存储过程

1 call 存储过程名称(参数1  参数1类型,参数2  参数2类型);

 5.创建存储过程

复制代码

 

1 1#体会封装
2 create procedure p1 ()
3 begin 
4    select * from account;  
5   
6 end

 

复制代码

1 2#SQL 体会参数
2 create procedure p2(in m int)
3 begin 
4   select * from account where money > m;
5 end

复制代码

 

 1 #SQL 体会控制
 2 create procedure p3(in x int,in c char(1))
 3 
 4 begin
 5 
 6     if c ='d' then
 7     
 8         select * from account where money >x;
 9  
10    else 
11     
12          select * from account  where money <x;      
13   end if;
14 end

 

复制代码

 

复制代码

 

#体会循环:计算1-100累加的和,并且返回计算结果.
create procedure p4(inout n int)
    begin
      DECLARE sum int default 0; -- 设置总和变量,并且指定初始值0
      declare i int; -- 声明变量
      set i = 0;    -- 通过set为变量设置值
      while i<=n DO  -- 开始循环
            set sum = sum +i;
            set i = i+1;
          end while; -- 结束循环

      select sum; -- 提供结果
                    
          set n = sum;--将计算结果提供给 输出变量 n;

      end;
                
  -- 调用:
       set @n = 100;
       call p4(@n);
       select @n;

 

复制代码

存储过程优点
        1、存储过程增强了SQL语言灵活性。存储过程可以使用控制语句编写,可以完成复杂的判断和较复杂的运算,有很强的灵活性;
        2、减少网络流量,降低了网络负载。存储过程在数据库服务器端创建成功后,只需要调用该存储过程即可,而传统的做法是每次都将大量的SQL语句通过网络发送至数据库服务器端然后再执行;
        3、存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
        4、系统管理员通过设定某一存储过程的权限实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值