1.存储过程和函数....

   存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,

   减少数据在数据库中和应用服务器之间的传说胡,对于提高数据处理的效率有很多好处.

2.存储过程和函数的区别

  1)函数必须有返回值,而存储过程没有

  2) 存储过程的参数有IN,OUT,INOUT

       而函数的只有IN

   3)存储过程一般是作为一个独立的部分来执行( EXECUTE 语句执行),而函数可以作为查询语句的一个部分来调用(SELECT调用),

     由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。 SQL语句中不可用存储过程,而可以使用函数。

3.  创建存储过程

     1) CREATE PROCEDURE f1( in p1 int,in p2 int ,out p3 int)
READS SQL DATA
BEGIN
select id
from inview
where p1 = inview_id
AND p2 = stroe_id
AND m1(id);
SELECT FOUND_ROWS() INTO p3;
END
 2)
create procedure c1_add (a int ,b int)
begin
declare c int ,
if a is null then
set a = 0;
end if ; if b is null then
set b = 0;
end if ;
set c=a+b;
select c as sum;
end ;
注:存储过程中不能使用return...return只能使用在函数中...
存储过程的调用...
call cl_add(10,20); //存储过程需要使用call函数来进行调用...
set @a=10; set @b=20; //我们还可以定义两个用户变量...
call cl_add(@a,@b); //将用户变量的值传递过去...
4.存储过程和函数的CREATE 语法不支持使用CREATE OR
REPLACE 对存储过程和函数进行修改,如果需要对已有的存储过程或者函数进行修改,需要
执行ALTER 语法。
   ALTER PROCEDURE f1 MODIFIES SQL DATA SQL SECURITY INVOKER;
 
5.删除存储过程或函数
  drop procedure f1;
  drop function    .....;
6.查看存储过程或者函数的定义
   SHOW CREATE {PROCEDURE | FUNCTION} sp_nam

7.变量的应用
   1)变量的定义:DECLARE定义一个局部变量,他的作用域为begin...end;
      DECLARE var_name[,...] type [DEFAULT value]
     例如定义一个int 类型的变量p1:
    DECLARE p1 int;
   2)变量的赋值  set var_name = 常量 ||表达式
     set p1 =1;
 
 

最新文章

  1. Swing学习笔记1-----Swing组件类的层次
  2. mysql 实现 start with
  3. PHP分页类,生成分页html字符串
  4. 能产生粒子效果的CAEmitterLayer
  5. ubuntu 折腾之路
  6. PowerDesigner自定义列和过滤器
  7. DocumentBuilder setEntityResolver() Method
  8. throw与throw的区别
  9. Codeforces Round #252 (Div. 2) B. Valera and Fruits(模拟)
  10. javascript:void(0); 是什么意思
  11. AJAX多级下拉联动【JSON】
  12. IntentService源码
  13. Python Redis 的安装
  14. python文本读写数据
  15. 爬虫模块介绍--selenium (浏览器自动化测试工具,模拟可以调用浏览器模拟人操作浏览器)
  16. 20175236 2018-2019-2 《Java程序设计》第五周学习总结
  17. 命令纠正工具 thefuck 的简单使用
  18. Codeforces 1012D AB-Strings 贪心
  19. DMA-总结
  20. mysql-The-server-quit-without-updating-PID-file

热门文章

  1. div+css:div中图片垂直居中
  2. PHP 自动加载规范PSR-4
  3. dos命令
  4. ios开发之Info.plist文件相关配置
  5. 【转】一千行MySQL学习笔记
  6. ORA-00600: 内部错误代码
  7. 分析oracle的执行计划(explain plan)并对对sql进行优化实践
  8. php中引用&的真正理解-变量引用、函数引用、对象引用
  9. hao916,hao123,2345.com浏览器劫持-分析与清除
  10. Java多线程--线程安全问题的相关研究