sql存储过程区别
1、sql只能实现简单的查询,新增,修改,删除功能。
2、存储过程是sql语句和可选控制流语句的预编译集合。存储过程在创建时即在服务器上进行编译,所以执行起来比单个sql语句快。在单个存储过程中可以执行一系列sql语句。可以从自己的存储过程内引用其他存储过程。
B. 请问,mysql存储过程与普通的sql语句有什么区别
--sql几行数据操作是没有多大区别的,如果上万,百万级就看出区别--
------------以下是专业述语说明-------------------------------------------------------
计算机上调用Transaction-SQL 编写的一段程序原因在于存储过程具有以下优点
1 存储过程允许标准组件式编程
存储过程在被创建以后可以在程序中被多次调用而不必重新编写该存储过程的SQL
语句而且数据库专业人员可随时对存储过程进行修改但对应用程序源代码毫无影响因
为应用程序源代码只包含存储过程的调用语句从而极大地提高了程序的可移植性
2 存储过程能够实现较快的执行速度
如果某一操作包含大量的Transaction-SQL 代码或分别被多次执行那么存储过程要
比批处理的执行速度快很多因为存储过程是预编译的在首次运行一个存储过程时查
询优化器对其进行分析优化并给出最终被存在系统表中的执行计划而批处理的Transact
ion-SQL 语句在每次运行时都要进行编译和优化因此速度相对要慢一些
3 存储过程能够减少网络流量
对于同一个针对数据数据库对象的操作如查询修改如果这一操作所涉及到的
Transaction-SQL 语句被组织成一存储过程那么当在客户计算机上调用该存储过程时
网络中传送的只是该调用语句否则将是多条SQL 语句从而大大增加了网络流量降
低网络负载
4 存储过程可被作为一种安全机制来充分利用
系统管理员通过对执行某一存储过程的权限进行限制从而能够实现对相应的数据访
问权限的限制避免非授权用户对数据的访问保证数据的安全我
C. SQL函数和存储过程的区别
不同点:
1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。
2、函数中有返回值,且必须返回,而过程可以没有返回值。
3、过程无返回值类型,不能将结果直接赋值给变量;函数有返回值类型,调用时,除在select中,必须将返回值赋给变量。
4、函数可以在select语句中直接使用实现对字段进行计算,而存储过程不能,
例如:假设已有函数fun_getAVG() 返回number类型绝对值。
那么select fun_getAVG(col_a) from table 这样是可以的。
5、函数一般处理简单的逻辑方便,存储过程一般处理复杂的逻辑,
相同点:
1、二者都可以有输出
2、二者写法逻辑上很相似