我正在学SQL Server,已经学了存储过程
游标正在学,感觉还比较难,后面还有触发器问题:
请举例说一下,存储过程、游标、触发器,在实际开发中会用到的场合,也就是说,不学这些,行吗?
谢谢!!!

解决方案 »

  1.   

    回复你这句,现实工作环境,几乎不可能不学,所以你还是要有特别是存储过程扎实的基础。游标的话其实4年工作经验里面我几乎就没用到,你酌情考虑,但是存储过程必学。至于触发器,其实看着联机丛书的例子多写几个,基本上就没问题了。
    存储过程有其不可替代的地位,相对于纯SQL语句,效率高很多,而且安全性也好,在网络传输的时候,只需要传存储过程的名字及其参数,如果你用纯SQL,可能就要穿一大堆语句,而且都是明文,给别人抓包的话你的数据库结构可能都会被分析出来,进行攻击。从我的工作经验来说,我从事的公司几乎全部存储过程开发,很少有单纯的SQL语句。所以建议你花大力气学。至于怎么学,其实不好说,但是重点是练,我毕业的时候只听过但是没写过存储过程,在工作中被迫(因为只有我一个数据库开发人员)写了超过1000个存储过程,后来也就没啥好怕的。
      

  2.   

    有一本sqlserver技术内幕 T-sql程序设计,就是讲这些怎么写的。
    可以看一下。
      

  3.   

    存储过程 只是把常用的复杂的sql,预先存储到数据库,以后不用每次提交整个sql,只需提交名称+参数游标 主要用于不得不对记录集的每一行进行特殊处理(无法直接用sql一句解决)的时候触发器 便于记录集的每一条记录的增删改后自动立即执行特殊的处理
      

  4.   

    存储过程用来处理一些复杂流程
    比如用函数很难实现,或者在代码中是实现起来执行效率低
    游标主要来做批量插入或者做些复杂报表,但是尽量少用,效率有点低
    触发器:一般用来做批量插入,或者是由一个事件发生要处理多个事件,这个时候可以用,像ERP,库存管理里面等