ALTER TABLE dbo.RdRecord
    ADD CONSTRAINT FK__RdRecord__cWhCod__00F4FB67 FOREIGN KEY( cWhCode )
    REFERENCES [dbo].[Warehouse] ( cWhCode )
    ON UPDATE NO ACTION
    ON DELETE NO ACTION
RdRecord表中有cWhCode记录,但Warehouse 表中无cWhCode记录,如何强行的增加此约束再请教
客户端登录SQL服务器时如何取得客户端机器名

解决方案 »

  1.   

    这样试试:ALTER TABLE dbo.RdRecord WITH NOCHECK
        ADD CONSTRAINT FK__RdRecord__cWhCod__00F4FB67 FOREIGN KEY( cWhCode )
        REFERENCES [dbo].[Warehouse] ( cWhCode )
        ON UPDATE NO ACTION
        ON DELETE NO ACTION
      

  2.   

    可以通过系统表:sysproperties来取得客户端的机器名。
      

  3.   

    对于(1),一种是添加约束时,不检查表中数据
    ALTER TABLE dbo.RdRecord WITH NOCHECK
        ADD CONSTRAINT FK__RdRecord__cWhCod__00F4FB67 FOREIGN KEY( cWhCode )
        REFERENCES [dbo].[Warehouse] ( cWhCode )
        ON UPDATE NO ACTION
        ON DELETE NO ACTION另一种是先更新数据,将数据作处理后,使数据符合约束条件后,再增加约束:ALTER TABLE dbo.RdRecord
        ADD CONSTRAINT FK__RdRecord__cWhCod__00F4FB67 FOREIGN KEY( cWhCode )
        REFERENCES [dbo].[Warehouse] ( cWhCode )
        ON UPDATE NO ACTION
        ON DELETE NO ACTION
      

  4.   

    host_name()函数即可获取客户端的机器名。