您的位置:首页 > 数据库

[数据库]存储过程

2017-02-26 21:28 155 查看
1 存储过程是什么
存储过程定义

存储过程语法

2 存储过程优缺点
存储过程优点

存储过程缺点

3 存储过程与函数的区别
写法上

调用方式上

1 存储过程是什么

存储过程定义

存储过程是使用SQL语句和流程控制语句编写的模块,存储过程经编译和优化后存储在数据库服务器端数据库中,使用时调用即可。

存储过程语法

CREATE PROCEDURE [过程名] ([参数])
[局部声明]
[过程体]
注:这里的声明和参数都是可选的,只有在需要时才指定。


2 存储过程优缺点

存储过程优点

A.执行速度快 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

B.允许组件式编程 当对数据库进行复杂操作时(如对多个表进行 Update,Insert,Query,Delete 时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。这些操作,如果用程序来完成,就变成了一条条的 SQL 语句,可能要多次连接数据库。而换成存储,只需要连接一次数据库就可以了。

C.减少工作量 存储过程可以重复使用,可减少数据库开发人员的工作量。

D.提高系统安全性 安全性高,可设定只有某此用户才具有对指定存储过程的使用权。

存储过程缺点

A.移植性差 依赖于数据库厂商,难以移植(当一个小系统发展到大系统时,对数据库的要求也会发生改变);

B.难以调试、维护 业务逻辑大的时候,封装性不够,难调试难以维护;

C.服务器不能负载均衡 复杂的应用用存储过程来实现,就把业务处理的负担压在数据库服务器上了。没有办法通过中间层来灵活分担负载和压力.均衡负载等。

3 存储过程与函数的区别

存储过程和函数目的是为了 可重复地 执行操作数据库的sql语句的集合。

区别是写法和调用上。

写法上:

定义:

存储过程的参数列表可以有输入参数、输出参数、可输入输出的参数;
函数的参数列表只有输入参数,并且有return <返回值类型,无长度说明>。


返回值上:

存储过程的返回值,可以有多个值;
函数的返回值,只有一个值。


调用方式上:

存储过程的调用方式有:

1)、exec <过程名>;

2)、execute <过程名>;

3)、在PL/SQL语句块中直接调用。


函数的调用方式有:

  在PL/SQL语句块中直接调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: