zoukankan      html  css  js  c++  java
  • 数据库检查约束是否存在

    http://stackoverflow.com/questions/2499332/how-to-check-if-a-constraint-exists-in-sql-server

    Easiest way to check for the existence of a constraint (and then do something such as drop it if it exists) is to use the OBJECT_ID() function...

    IF OBJECT_ID('dbo.[CK_ConstraintName]', 'C') IS NOT NULL 
        ALTER TABLE dbo.[tablename] DROP CONSTRAINT CK_ConstraintName

    OBJECT_ID can be used without the second parameter ('C' for check constraints only) and that may also work, but if your constraint name matches the name of other objects in the database you may get unexpected results.

    IF OBJECT_ID('dbo.[CK_ConstraintName]') IS NOT NULL 
        ALTER TABLE dbo.[tablename] DROP CONSTRAINT CK_ConstraintName

    OBJECT_ID can also be used with other "constraints" such as Foreign Key constraints or Primary Key constraints, etc. For best results, always include the appropriate object type as the second parameter for the OBJECT_ID function:

    Constraint Object Types:

    • C = CHECK constraint
    • D = DEFAULT (constraint or stand-alone)
    • F = FOREIGN KEY constraint
    • PK = PRIMARY KEY constraint
    • R = Rule (old-style, stand-alone)
    • UQ = UNIQUE constraint

    Also note that the schema is often required. The schema of constraints generally takes the schema of the parent table.

    Failure to put your constraints (or whatever you are checking) in brackets when using this method may also cause a false negative -- if your object uses unusual characters (such as a .), the brackets are required.

  • 相关阅读:
    前端脚手架的那些事儿
    CSS重置默认样式reset.css代码模板
    Web 3.0 前瞻:基于区块链的下一代浏览器
    关键词定位是网站推广的基础
    6年架构师针对web前端小白,作出的职业规划建议
    和程序员约会的优点和缺点
    如何在软件开发中避免出现漏洞
    Linux下修改时区
    前端需要掌握的Nginx知识
    Nginx入门指南
  • 原文地址:https://www.cnblogs.com/wucg/p/6186377.html
Copyright © 2011-2022 走看看