1.什么是存储过程?它有哪些优点
存储过程是一组预编译的SQL语句
它的优点有:
允许模块化程序设计,意思就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。
允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快
减少网络流量,一个需要数百行的SQL代码的操作有一条执行语句完成,不需要再网络中发送数百行代码。
更好的安全机制,对于没有权限执行存储过程的用户,也可以授权他们执行存储过程
2.存储过程和函数有什么区别?
Oracle中的函数与存储过程的区别:
A:函数必须有返回值,而过程没有.
B:函数可以单独执行.而过程必须通过execute执行.
C:函数可以嵌入到SQL语句中执行.而过程不行.
其实我们可以将比较复杂的查询写成函数.然后到存储过程中去调用这些函数.
Oracle中的函数与存储过程的特点:
A. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。
B. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。
C.存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。