How to see contents of Check Constraint

前端 未结 4 2183
臣服心动
臣服心动 2021-02-13 17:24

Is there a TSQL script that will allow me to see the contents of a constraint. I found a question regarding Oracle but I need a TSQL script.

How to see contents of Check

相关标签:
4条回答
  • 2021-02-13 17:34

    To have any check constraints, you're going to need objects of this type.

    select *
    from sys.objects
    where sys.objects.type = 'C'
    

    check_constraints

    0 讨论(0)
  • 2021-02-13 17:45

    Another way

    for check constraints

    select definition,name
     from sys.check_constraints
    

    for default constraints

    select definition,name
     from sys.default_constraints
    

    and yet another way

     SELECT object_definition(OBJECT_ID(CONSTRAINT_NAME)),* 
     FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
     where CONSTRAINT_TYPE <> 'PRIMARY KEY'
    
    0 讨论(0)
  • 2021-02-13 17:47
    SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
    
    0 讨论(0)
  • 2021-02-13 17:54

    sys.default_constraints for default constraints on columns

    sys.check_constraints for check constraints on columns

    sys.key_constraints for key constraints (e.g. primary keys)

    sys.foreign_keys for foreign key relations

    sys.check_constraints for check constraints on columns, not valid for check constraints on tables. Eg: CONSTRAINT CK_NumeroUsadas_NumeroTotal CHECK (NumeroUsadas <= NumeroTotal AND NumeroTotal >= 0),

    Search for text inside a constraint:

    1.) SELECT CONSTRAINT_NAME,CHECK_CLAUSE FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS WHERE CHECK_CLAUSE like '%NumeroTotal%' or CHECK_CLAUSE LIKE '%NumeroUsadas%'

    2.) SELECT object_definition(OBJECT_ID(CONSTRAINT_NAME)),* FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'CHECK' AND object_definition(OBJECT_ID(CONSTRAINT_NAME)) like '%NumeroTotal%' or object_definition(OBJECT_ID(CONSTRAINT_NAME)) LIKE '%NumeroUsadas%'

    0 讨论(0)
提交回复
热议问题