机房收费系统之存储过程和触发器

                最近一直忙着完成机房系统,在组合查询等功能实现的时候涉及到了存储过程和触发器的知识。由于以前对这两个东西,仅仅做了简单的了解,所以用起来是非常的不顺利。所以今天在此总结一下,以备以后回顾。

         首先,先分别说说存储过程和触发器的一些概念性知识。

存储过程

       是什么——存储过程是存放在服务器上的预先编译好的SQL语句。

       为什么用——存储过程可以增强代码的可重用性,提高开发的效率。

       怎么用——存储过程和一般的对数据库中表的操作一样。可以创建存储过程、修改存储过程、删除存储过程、查询(带参数的)存储过程。至于具体的操作,不是本文的重点,所以不在此赘述了。

         

       用了的好处——1.提供了安全机制 ,可保证数据的安全性和完整性。通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。另外,通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。

       2.改进了执行性能 。在运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。

      3. 可以降低网络的通信量。

      4.增强了代码的重用性。

触发器

        概念:触发器是特殊的存储过程。他是SQL Server 提供给程序员和数据分析员来保证数据完整性的一种方法。

区别:触发器不能被直接执行,他们只能为表上的Insert、Update、Delete事件所触发。另外,触发器也不能狗传递或接受参数。

       优点:

       触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活。
       触发器可以通过数据库中的相关表进行层叠更改。例如,可以在CancelCradle表的 CardNo 列上写入一个删除触发器,以使其它表中的各匹配行采取删除操作。
       触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复杂。与 CHECK 约束不同的是,触发器可以引用其它表中的列。

限于篇幅,关于存储过程和触发器的内容先写到这里,至于具体的操作,后续跟上!

你可能感兴趣的:(机房收费系统之存储过程和触发器)