zoukankan      html  css  js  c++  java
  • SQL Server 验证库名,及中断执行

    今晚部门组织看电影,西游伏妖篇,IMAX3D。之前没看过IMAX,圆弧形大屏幕坐在正当中效果非常棒。去年还是前年看过一次蚁人,也是3D,但效果不好。这次就震憾多了,3D景深明显,很有立体感和层次感。就是音效太强了些,轰鸣一样。

    一个入职半年的同事要离职去成都发展了,下周就走,比较突然。

    年初会调一次工资,不知这次能加多少。但绩效考核有调整,以后可能绩效拿的没以前多了。不管怎样,还是工资基数增加好些,毕竟各种奖金都是拿工资去算的。

    项目里有些建表/改表/存储过程,想在开头加上库名的验证,以免运行错库,造成不必要的麻烦。有些注意点:

    1、可使用DB_NAME()来获取当前库名,比如IF DB_NAME() NOT LIKE '%XX'来进行验证

    2、使用RAISERROR来抛出异常,结果发现抛出异常后仍会继续往下执行

    3、在抛出异常后,使用RETURN来返回

    4、结果发现RETURN只能退出当前GO,如果脚本里有多个GO,后续的会继续执行

    5、搜了一下,可使用SET NOEXEC ON,这样相当于仅验证脚本不执行。即

    IF DB_NAME() NOT LIKE '%XX'
    BEGIN
        RAISERROR XXX
        SET NOEXEC ON;
    END
    
    XXX正文
    GO
    
    SET NOEXEC OFF;

    6、正文后跟的那句SET NOEXEC OFF不写也可以,但不写的话,本次Session(即本次窗口)无法再执行任何语句(不管执行什么都仅显示【命令已完成】),新开窗口后就没事。

  • 相关阅读:
    Java中的数据类型
    SSE2 Intrinsics各函数介绍[转]
    mac terminal的使用技巧
    vi打开二进制文件
    svn
    fitness
    <正见>摘抄
    管理自己
    [C++程序设计]基于对象的程序设计 基于对象的程序设计
    [C++程序设计]引用
  • 原文地址:https://www.cnblogs.com/liuyouying/p/6376417.html
Copyright © 2011-2022 走看看