
正文
oracle存储过程与存储函数的区别,oracle存储过程或者用法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle存储过程和函数的区别
1、存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2、存储过程 定义 存储过程是存储在数据库中提供所有用户程序调用的子程序,定义存储过程的关键字为procedure。
3、oracle中function是函数,而procedure是存储过程。函数:函数用于返回特定数据。执行时得找一个变量接收函数的返回值。
4、本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。
5、cursor(这个自己看书去吧),这样使用游标一条条地取值使用。而隐式游标针对所有的select语句都是的。函数和存储过程几乎没有区别,只是前者有返回值,后者没有,如果后者定义了出参,那就和函数的功能是一样的了。
相关问答
Q1: oracle函数和存储过程的区别
存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
存储过程 定义 存储过程是存储在数据库中提供所有用户程序调用的子程序,定义存储过程的关键字为procedure。
oracle中function是函数,而procedure是存储过程。函数:函数用于返回特定数据。执行时得找一个变量接收函数的返回值。
Q2: 数据库存储过程、函数、触发器的区别是什么?
1、一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。
2、存储过程,可以返回多个值,函数只能一个;触发器是一个特殊的存储过程。当他满足一当条件时执行,例子:如果几个有关联的表,其中主表的数据删除了~那么子表的也要一起删掉。
3、触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE。触发器可以查询其它表,而且可以包含复杂的 SQL 语句。
4、数据库事务、存储过程、函数以及触发器之间的区别和联系如下: 事务概念 事务(Transaction)是指构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。
5、触发器与存储过程可以说是非常相似,可以说是一种变种的存储过程,触发器和存储过程一样都是SQL语句集,通常通过创建触发器来强制实现不同表中的逻辑相关数据的引用完整性和一致性。
Q3: oracle函数和存储过程有什么区别
一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。
存储过程 定义 存储过程是存储在数据库中提供所有用户程序调用的子程序,定义存储过程的关键字为procedure。
三者差别:存储过程实现的功能要复杂一点,而函数实现的功能针对性比较强。
在ORACLE 中,若干个有联系的过程可以组合在一起构成程序包。优 点: 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
函数有1个返回值,而存储过程可以有多个或者没有。函数可以在其他语句中直接调用,而存储过程必须单独调用。函数通常用于计算或较为单一的数据功能,存储过程相对完成更复杂的复合性的数据功能。
不同点:存储过程定义关键字用procedure,函数定义用function。存储过程中不能用return返回值,但函数中可以,而且函数中必须有return子句。
oracle存储过程与存储函数的区别的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle存储过程或者用法、oracle存储过程与存储函数的区别的信息别忘了在本站进行查找喔。








