码迷,mamicode.com
首页 > 其他好文 > 详细

12_什么是存储过程?

时间:2017-06-13 22:44:48      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:规则   获取值   创建   修改   分支   python   变量赋值   begin   procedure   

如何创建存储过程?

       create procedure 名字()    begin ....... end

         .......中写入对数据库的操作

       -- 调用存储过程   call 名字()

       -- 删除存储过程   drop procedure 名字

       -- 如何修改?

              -- 先删除,再创建

              -- drop procedure if exist 名字         # 判断该存储过程是否存在

       命令规则  proc_操作名

    存储过程有点像写python函数,MySQL把分号当做结束符

如何定义mysql结束符号?

       delimiter $$          # 声明以$$作为结束符号

       delimiter ;             # 再次声明;作为结束符

存储过程的框架是什么?

       delimiter $$                  -- 声明结束符号$$

       drop procedure if exists 存储过程名字$$

       create procedure 存储过程名字(

    in i1 int,out i2 int,inout i3 int       

        -- in定义传入参数,out表示从存储过程中获取值,inout是形参也是获取值对象

    )

  begin

       declare d1 int;            -- 定义整形变量d1

       declare d2 int default 3;         -- 定义整形变量d2,设置默认参数3

       set d1 = i1 + d2;                       -- 给d1设置值

       select * form man_to_wommen where nid > d1     -- 执行sql语句

  end

  delimiter ;                                -- 再次声明 ; 作为结束符

      -- 在sql中,in声明形参,declare声明变量名,set给变量赋值,default给变量设置默认值

如何获取输出的值?

  set @接收参数 = 值; 对inout类型进行传参

  call 存储过程名字(实参1,@接收参数);

  select @接收参数;

存储过程中的分支?

       if 条件 then 函数体

       elseif 条件 then 函数体

       else then 函数体

       end if

存储过程能拿到什么结果?

       -- sql语句执行结果

       -- out inout 定义后设置的值

如何把查询到的结果写入一个变量中?

       -- into          --

       -- select man_id into 变量 where 条件     -- 等价于 set 变量 = 查询结果man_id

       -- 变量能接收什么值,要看变量的类型

12_什么是存储过程?

标签:规则   获取值   创建   修改   分支   python   变量赋值   begin   procedure   

原文地址:http://www.cnblogs.com/2bjiujiu/p/7003769.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!