编写T—SQL语句,将pubs库中的Titles表中的type列值为business的Titles_id列的前三个字符替换为“ABB”。update titles set Titles_id='ABC'+stuff(Titles_id,1,3,'')
from pubs.dbo.titles where type='business'

解决方案 »

  1.   

    谢谢你啊,我又新学会了一个函数,呵呵,不过这样做还是不行的,因为返回多个值,该列还是主键服务器: 消息 547,级别 16,状态 1,行 1
    UPDATE 语句与 COLUMN REFERENCE 约束 'FK__titleauth__title__060DEAE8' 冲突。该冲突发生于数据库 'pubs',表 'titleauthor', column 'title_id'。
    语句已终止。
      

  2.   

    因为存在着外键关系,所以必须先禁用了FK__titleauth__title__060DEAE8才能更新数据,但是有这样的一个问题,就是更新以后数据的一至性会受到影响。那么你应该先理清楚两个表的关系,合理的更新数据才行。禁用该约束
    ALTER TABLE titles NOCHECK CONSTRAINT FK__titleauth__title__060DEAE8重新启用该约束
    ALTER TABLE titles CHECK CONSTRAINT FK__titleauth__title__060DEAE8查看外键关系,可以通过exec sp_help 表名来查看。