sql高级的 函数,触发器,事物,视图

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    

     1. 视图:

           就是 你需要 把几个表中的 几个列抽取出来再一起显示而已

                   create view team as 

                            select *from A join B on A.a=B.b

                                       join C  on C.c=B.h

 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

        2.  事务就是 把一系列有 顺序的 逻辑过程 打包而已

                              防止 出现 有纰漏时 被执行了,

        eg : 买游戏卡-- 检查卡数量--- 双方的余额--交易记录--购物车---购买记录

                          这是一个打包捆绑的 过程,必须所有都要正确才行。

                   begin tran 

                  declare @errorsum  int=0

                  每一句sql语句 后面 都要 

                      set @errorsum+=@@error

                 然后 无错 就

                   if(@errorsum=0)

                         commit tran

                   else   

                            rollback tran

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

         3.函数 就是 一个 操作流程的 集合

  一般:

          create function superman(@ee int )

                 returns int

       as begin 

           declare @dd int

         ......

           return @dd

           end

 

       调用 时就用 select dbo.superman(5)

 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

             5.   至于 牛逼的 表值函数,就是 得到一个 表

                  eg:根据 部门的 编号 得到 所有 员工的 信息

          create function superwang(@dno int)

                    returns @table_dno table(

                            name varchar(20),

                             sal  money,

                    )

                       as begin

                        .........可能会 用到

                       insert  into @table_dno  select ....from A where ....

                          做到 一一对应就行。

                        return   end

 

         调用 就是 select  *from superwang(1005)          

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

6. 过程: 就是 函数的 功能,只不过比较快速

             create proc Xman有参数 无参数 返回都行

                               Xman(@maxmon  int  output ,@name varchar(10)  , @sal int)

                      as  begin  end

               使用是:

                    declare @d int

                 exec  Xman @d output ,'tom',90

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

6. 触发器  就是  你对某一个 表执行某一个操作时 会触发一些 语句的 集

                    create  trigger superX

                               on  shophistory

                            for/ instead of  update/insert

                           as  begin

                                    sql 语句中 会用到inserted表(update和insert时可以用)

                                         和 deleted 表(update 和 delete中)

                                end

                                   每一句 后面 都有一个 set @errosum += @@error

                               这个过程中 一旦 出现不符合的要求的 就

                                                    rollback tran 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

原文地址:https://www.cnblogs.com/yyjxxd/p/5373521.html