sql server存储过程优缺点分析

发布时间:2020-11-17编辑:脚本学堂
有关sql server存储过程创建与修改语句,sql server中三种常见的错误类型,sql server 存储过程的优点与缺点,感兴趣的朋友参考下。

一、alte、procedure与creat、procedure的区别:
1、alte、proc期望找到一个已有的存储过程,而create则不是。
2、alte、proc保留了存储过程上已建立的任何权限。它在系统对象中保留了相同的对象id并允许保留依赖关系。
3、alte、proc在可能调用被修改的存储过程的其他对象上保留了任何依赖信息。

存储过程本身及调用脚本对它使用,注意几点:
1、对于存储过程声明中的输出参数,需要使用output关键字。
2、和声明存储过程时一样,调用存储过程时必须使用output关键字。这样就对sq、server作了提前通知,告诉它参数所需要特殊的处理。但是需要注意的是,如果忘记包含output的关键字,不会产生运行错误,也不会得到任何关于它的消息,但是输出参数的值不会传入到变量中(得到的很可能是null值)。这意味着得到非预期的结果。
3、赋给输出结果的变量不需要和存储过程中的内部参数拥有相同的名称。
4、exec关键字是必须的,因为对存储过程的调用并不是批处理要做的第一件事(如果存储过程的调用时批处理要做的第一件事,则可以不使用exec)。

二、sql server中三种常见的错误类型:
1、产生运行时错误并终止代码继续运行的错误。
2、sq、server知道的、但不产生使代码停止运行的运行时错误的错误。这类错误也叫内联错误(inline)。
3、更具有逻辑性但在sq、server中不太引起注意的错误。

三、sql server 存储过程的优点:
1、通常能获得更好的性能(存在例外)。
2、通常作为安全隔离层来使用(控制数据库访问和更新的方式)。
3、可重用的代码。
4、对代码进行区域化(可以封装业务逻辑)
5、根据在运行时建立的动态过程灵活执行。

四、sql server 存储过程的缺点:
1、不能再平台间移植(例如,oracle就有一种完全不同的存储过程实现的方法)。
2、在某些情况下可能陷入错误的执行计划(实际上影响了性能)。