在企业管理直接修改:

用语句alter table t drop constraint 约束名alter table t with nocheck add constraint 约束名 check(..)

解决方案 »

  1.   

    create table tp(a int,b int,c int)
    alter table tp add constraint ck_tp check(c=a+b)
    alter table tp drop constraint ck_tp
    alter table tp WITH NOCHECK add constraint ck_tp check(c=a+5) 
    insert into tp select 1,2,6
    select * from tp
      

  2.   

    不是上边大侠们说的那个意思,我的意思是在不该变约束的前提条件下修改字段值,当然更不能删除约束了。
    实例: 我想把一条记录的值改成另外的一个值 
          a  b   c
         1   2   3
     改成:a  b   c
          2   2   4 
      
    a的值原来是1,我现在想改成2 ,不让该。
    请问怎样修改?
      

  3.   

    --禁止表约束
    alter table 表名 nocheck constraint 约束名
    update .........
    --恢复表约束
    alter table 表名 check constraint 约束名
      

  4.   

    更新的时候不要只更新a列 要a c同时更新UPDATE [TABLE] SET A=A+1,C=C+1或者干脆建表的时候不要用约束 
    用只读列CREATE TABLE [TABLE]
    (
    a int,
    b int,
    c AS a+b
    )
    GO