
存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集
功能是将常用或复杂的工作,预先用SQL语句写好并用一个指定名称存储起来, 以后需要数据库提供与已定义好的存储过程的功能相同的服务时,只需调用 call 存储过程名字, 即可自动完成命令。
存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,可由应用程序通过一个调用来执行,而且允许用户声明变量 。
同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。
一、定义
1、存储过程:是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可
2、函数:是由一个或多个 Transact-SQL 语句组成的子程序,可用于封装代码以便重新使用。
二、存储过程和函数区别
1、存储过程不一定非要有返回值 数据库中的函数一定有返回值
2、存储过程在前台语言可以直接调用 而函数一般要有sql语句做为载体
语法
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ n ]
举例:
创建一存储过程,getDetailByName,参数学生姓名,筛选学生基本信息,不存在的话做检测。打印不存在此学生
create procedure getDetailByName
@studentname char(10)
as
if exists(select from student where sname=@studentname)
select from student
else
print '此学生不存在'
go
exec getDetailByName '张三'
存储过程,就是带有名字的一个程序块。
存储,是指这个程序块创建了之后,是存储在数据库内部的,然后我们可以在自己写的程序中通过某种手段去调用这段程序,然后这段程序就会做一件事,做什么事?我们定义存储过程的时候怎么写的,它到时候就做什么;
过程,就是程序块,说白了就是一段程序。
存储过程,创建完成之后,就存储在数据库内部了,数据库帮你记着,存储过程创建的时候都有一个名字,将来你在你的程序当中,通过某种方式(不同编程语言有不同的方式),一般来讲通过这个名字,去调用存储过程,就像使用一个方法或者函数一样,它就去做一件事!
不同的数据库的存储过程,都是用当前自己这个数据库的编程语言来编写的,比如Oracle的PL/SQL编程,等等。
自己写一个就明白了,语法不用我多说了吧?
以上就是关于mysql中的存储过程是什么意思啊全部的内容,包括:mysql中的存储过程是什么意思啊、ocacle 什么是储存过程,什么是函数、举例说明存储过程的定义与调用(数据库习题) 基于SQL server等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)