说明:如果您有任何疑问或想咨询其他业务请拨打电话 400 685 0732
全网监测海量数据按需发布监测预警
实时把握舆情动态精准追溯信息源头
存储过程(StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它,存储过程是数据库中的一个重要对象;存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数,输出参数,返回单个或多个结果集以及返回值。
sql存储过程——存储过程的优点
优点:
由于应用程序随着时间推移会不断更改,增删功能,SQL语句会变得更复杂,存储过程为封装此类代码提供了一个替换位置;
由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快;
由于在调用时只需用提供存储过程名和必要的参数信息,所以在一定程度上也可以减少网络流量,简单网络负担;
可维护性高,更新存储过程通常比更改,测试以及重新部署程序集需要较少的时间和精力;
代码精简一致,一个存储过程可以用于应用程序代码的不同位置;
增强安全性:
通过向用户授予对存储过程(而不是基于表)的访问权限,它们可以提供对特定数据的访问;
提高代码安全,防止SQL注入(但未彻底解决,例如将数据操作语言DML附加到输入参数);
SQLParameter类指定存储过程参数的数据类型,作为深层次防御性策略的一部分,可以验证用户提供的值类型(但也不是万无一失,还是应该传递至数据库前得到附加验证)
存储过程的缺点
缺点:
如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则仍需要更新程序集中的代码以添加参数,等等;
可移植性差,由于存储过程将应用程序绑定到Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性;如果应用程序的可移植性在您的环境中非常重要,则将业务逻辑封装在不特定于RDBMS的中间层中可能是一个更佳的选择
存储过程(storedprocedure)有时也称sproc,它是真正的脚本,更准确地说,它是批处理(batch),但都不是很确切,它存储与数据库而不是单独的文件中。存储过程中有输入参数,输出参数以及返回值等。如果大家还想了解更多与之有关的信息,欢迎关注我们文军营销的官网。
推荐阅读
说明:如果您有任何疑问或想咨询其他业务请拨打电话 400 685 0732