首先我们了解一下储存过程的优缺点:
优点:
①:存储过程有助于提高应用程序的性能。
②:存储过程有助于减少应用程序和数据库服务器之间的流量,因为应用程序不必发送多个冗长的SQL语句,而只能发送存储过程的名称和参数。
③:存储的程序对任何应用程序都是可重用的和透明的。 存储过程将数据库接口暴露给所有应用程序,以便开发人员不必开发存储过程中已支持的功能。
④:存储的程序是安全的。 数据库管理员可以向访问数据库中存储过程的应用程序授予适当的权限,而不向基础数据库表提供任何权限。
缺点:
①:存储过程的构造使得开发具有复杂业务逻辑的存储过程变得更加困难。
②:很难调试存储过程。只有少数数据库管理系统允许您调试存储过程。不幸的是,MySQL不提供调试存储过程的功能。
③:开发和维护存储过程并不容易。开发和维护存储过程通常需要一个不是所有应用程序开发人员拥有的专业技能。这可能会导致应用程序开发和维护阶段的问题。
④:内存,CPU开销大,复杂逻辑困难,不便调试,开发和维护不易,移植性很差
我用的客户端是SQLyong 以这个为例创建储存过程
第一步:选择某个数据下的Stored Procs=>创建储存过程(S)
第二步:输入储存过程名称
第三步:如下图
这行储存过程就创建好了,下面谈谈怎么写储存过程
如上图①所指位置,可以写入参数
参数类型有三类,分别为:in(输入参数);out(输入输出参数);inout(输入输出参数)
IN CapitalassetsCode1 VARCHAR(50)
--------IN 表示输入参,CapitalassetsCode1 参数 VARCHAR(50) 参数类型
-----参数值可以在存储过程内部指定,为默认值,在存储过程中修改该参数的值不能被返回
----out(输入输出参数)
-----该值不能初始化赋值,可在存储过程内部被改变,并可返回;
---inout(输入输出参数)
---用时指定,可被改变和返回
存储过程的调用说明
CAll关键字 后跟储存过程名称(参数)