很多朋友在刚开始接触存储过程的时候,都会有些疑惑:什么是存储过程?怎么理解这个存储过程?
那么我们现在先搞懂什么叫“存储过程”!首先给大家看一下几个百科网站给出的答案:
百度百科:
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
智库百科:
存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理,是数据库中的一个对象。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
维基百科:
储存程序 (Stored Procedure),又可称预储程序或者存储过程,是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象,它可以视为数据库中的一种函数或子程序。
---------------------------------------------------------------
通过上面三个百科网站给出的解释,我们可以大概的知道,存储过程就是一段SQL语句的预编译集合、一段程序代码。其实说白了存储过程就是存储在数据库中的一个程序,该程序内包含了一些SQL语句,主要是完成某一个SQL语句操作。这就类似于C语言中的函数,存储过程的名称就是函数名,存储过程内部的语句就是函数体,同样的可以被重复调用。
我个人的理解就是,“存储过程”这个词可以把他分割出来理解,即:存储(动词) + 过程(名词);翻译过来可以是:所存储的一个过程。其中这个“过程”就是完成某一个工作的过程。所以可以把“存储过程”理解成存储在数据库中的一个过程(函数),这个过程(函数)就是用来完成某一项工作的。
知道什么是“存储过程”后,那么我们该明白它到底有什么好处,为什么要使用它。
存储过程的优点:
存储过程的缺点: