首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

存储过程-代码优化、逻辑优化

2013-03-10 
存储过程-------------代码优化、逻辑优化在前两天做注册时,需要考虑学生表、卡信息表、充信息表等多个表,类

存储过程-------------代码优化、逻辑优化

       在前两天做注册时,需要考虑学生表、卡信息表、充值信息表等多个表,类似与这种情况需要操作多个表的操作(充值、退卡、上机、下机、结账等等),如果还是用原来的办法多个函数重复的调用,太浪费精力了,代码麻烦,调用关系搞不好还乱了,第一次做机房的时候,听说过这个词感觉特别难,存储过程很是神奇,现在来看,也就那么回事(走过了,发现啥事不能事先被自己所吓倒),先来理解存储过程的相关知识

下面是自己重构机房收费系统的存储过程的使用提高班存储过程命名规范:

存储过程名 = PROC + “_” + 存储过程含义。

自己写的关于注册学生卡时的存储过程:



这样问题出现的原因:


第一是:D层没有给变量赋值(检查从上一层获取的值是否正确)

第二是:参数名称不正确.(修改名称务必一致)


存储过程总结:


    它是一组预先编译好的Transact-SQL语句。将其放在服务器上,由用户通过指定存储过程的名字来执行它。存储过程可以作为一个独立的数据库对象,也可以作为一个单元被用户的应用程序调用。存储过程可以接收和输出参数,返回执行存储过程的状态值,还可以嵌套调用。


    特点:

      1、存储过程可以接受参数,并以接收参数的形式返回多个参数给调用存储过程和批处理

      2、包含执行数据库操作的编程语句,也可以调用其他存储过程。

      3、向调用过程或批处理返回状态值,以反映存储过程的执行情况。


    注意:

      存储过程和函数不同,存储过程是用户定义的一系列SQL语句的集合,设计特定的表或其他对象的任务,用户可以调用存储过程。它可以以变量的形式返回参数。

      而函数通常是数据库已经定义的方法,它接受参数并返回某种特定的值,并且不涉及特定用户表。 

它的功能:

    1、条件执行  if。。then。。else

    2、循环控制语句while 和 for

    3、命名变量

    4、命名过程

    5、像执行单条SQL语句一样执行一系列SQL语句。


优点:

    封装——可用于操作数据库对象的方法,用户只需要知道它的输入输出参数并理解其目的即可。

    改善性能——已经预先编译,提高效率.

    减少网络流量——只返回最后的结果集

    重要性——针对复杂逻辑,应用已经测试好的存储过程,不容易发生错误。

    安全性——如果数据库拥有者DBO 或者 系统管理员 SA 编译并保存了存储结构,存储过程就有了对它使用的数据库对象的所有访问权限。因此系统管理员可以向单独的用户授予对数据库对象的最小访问权限,而不是直接允许用户使用数据库对象。




热点排行