zoukankan      html  css  js  c++  java
  • 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 

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

  • 相关阅读:
    GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级
    德鲁克的经典五问
    【转】太用力的人跑不远
    Android ViewPager打造3D画廊
    转载:张一鸣:10年面试2000人,我发现混的好的人,全都有同一个特质
    Comparable与Comparator
    Iterator、Iteratable与ListIterator
    shell 数学运算总结
    ADB命令行工具使用
    Android 搭建ssh服务
  • 原文地址:https://www.cnblogs.com/yyjxxd/p/5373521.html
Copyright © 2011-2022 走看看