什么是数据库存储过程

存储过程应该怎么写?
oracle的也一样么?

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升。

这类语言主要提供以下功能,让用户可以设计出符合应用需求的程序:

1、变量说明

2、ANSI(美国国家标准化组织)兼容的SQL命令(如Select,Update….)

3、一般流程控制命令(if…else…、while….)

4、内部函数

扩展资料:

种类

1、系统存储过程

2、本地存储过程

3、临时存储过程

4、远程存储过程

5、扩展存储过程

参考资料来源:百度百科-存储过程

参考资料来源:百度百科-数据库

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-19
SQL的调用可以分为函数和存储过程。
个人理解,其实函数和存储过程是相似的,至少在引用的时候跟函数很是一样。或者干脆把存储过程理解为另一种函数,另一种经过优化的函数。它的优点在于,存储过程在被编译后会被直接保存在数据库中,成为数据库的一部分,以后就可以反复调用,运行速度快,效率高,这些是函数做不到的。
存储过程(Stored
Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL
语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。
种类
1系统存储过程
以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作。
2本地存储过程
用户创建的存储过程是由用户创建并完成某一特定功能的存储过程,事实上一般所说的存储过程就是指本地存储过程。
3临时存储过程
分为两种存储过程:
一是本地临时存储过程,以井字号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程,且只有创建它的用户才能执行它;
二是全局临时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。
4远程存储过程
在SQL
Server2005中,远程存储过程(Remote
Stored
Procedures)是位于远程服务器上的存储过程,通常可以使用分布式查询和EXECUTE命令执行一个远程存储过程。
5扩展存储过程
扩展存储过程(Extended
Stored
Procedures)是用户可以使用外部程序语言编写的存储过程,而且扩展存储过程的名称通常以xp_开头。
第2个回答  2020-05-31
SQL的调用可以分为函数和存储过程
个人理解,其实函数和存储过程是相似的,至少在引用的时候跟函数很是一样。或者干脆把存储过程理解为另一种函数,另一种经过优化的函数。它的优点在于,存储过程在被编译后会被直接保存在数据库中,成为数据库的一部分,以后就可以反复调用,运行速度快,效率高。。。这些是函数做不到的
解释不专业,就是个人的理解o(∩_∩)o
第3个回答  2020-01-14
存储过程就是把单个数据,利用你编好的模块把输入的数据进行统计分析等等。
第4个回答  2008-04-24
存储过程(procedure)类似于C语言中的函数,用来执行管理任务或应用复杂的业务规则。
存储过程是一组预编译的SQL语句,它可以包含数据操纵语句、变量、逻辑控制语句等。
存储过程分类:
1.系统存储过程:
由系统定义,存放在master数据库中
类似C语言中的系统函数
系统存储过程的名称都以“sp_”开头或”xp_”开头
2.用户自定义存储过程:
由用户在自己的数据库中创建的存储过程
类似C语言中的用户自定义函数

存储过程允许带参数,参数分为:
输入参数
输出参数
其中,输入参数可以有默认值。
输入参数:可以在调用时向存储过程传递参数,此类参数可用来向存储过程中传入值
输出参数从存储过程中返回(输出)值,后面跟随OUTPUT关键字

RAISERROR语句用来向用户报告错误