一杯清茶

          統(tǒng)計(jì)

          留言簿

          Oracle SQL/PLSQL

          PowerDesigner教程系列

          Struts2.0

          web開(kāi)發(fā)

          三人行

          從事RCP開(kāi)發(fā)的同行

          工作流和權(quán)限設(shè)置

          閱讀排行榜

          評(píng)論排行榜

          修改SQL數(shù)據(jù)庫(kù)中表字段類(lèi)型時(shí),報(bào)“一個(gè)或多個(gè)對(duì)象訪(fǎng)問(wèn)此列”錯(cuò)誤的解決方法

          轉(zhuǎn)自:
          http://www.cnblogs.com/coloeme/archive/2010/03/09/1681201.html

          在SQL數(shù)據(jù)庫(kù)中使用SQL語(yǔ)句(格式:alter table [tablename] alter column [colname] [newDataType])修改某表的字段類(lèi)型時(shí),報(bào)一下錯(cuò)誤:

          “**********************************

          對(duì)象'DF__******' 依賴(lài)于 列'column1'。
          ***********************************
          由于一個(gè)或多個(gè)對(duì)象訪(fǎng)問(wèn)此列,ALTER TABLE ******** 失敗。”

            根據(jù)上述提示在網(wǎng)上搜索結(jié)果,得知發(fā)生該錯(cuò)誤的原因在于要修改的字段存在Default約束,解決方法:

          1.查找出表中該字段的約束名稱(chēng)(或根據(jù)已有的提示及對(duì)象'DF__******')

          declare @name varchar(50)
          select  @name =b.name from sysobjects b join syscolumns a on b.id = a.cdefault
          where a.id = object_id('TableName')
          and a.name ='ColumName'

          2. 刪除存在的約束

          exec('alter table TableName drop constraint ' + @name)

          3. 再執(zhí)行修改字段類(lèi)型的腳本即可

            綜合查閱資料發(fā)現(xiàn):將表中的字段設(shè)置為NOT NULL(不為空)、給字段增加Default值(默認(rèn)值)這樣的操作都會(huì)給該字段添加約束,增加了這些約束后,在用SQL腳本修改字段類(lèi)型、刪除字段的時(shí)候均會(huì)發(fā)生類(lèi)似錯(cuò)誤,需要查找該字段上已存在的約束,并刪除存在的約束,再次執(zhí)行修改/刪除腳本即可。

            資料引用:

            1. 修改字段類(lèi)型時(shí)出現(xiàn)的 依賴(lài)于 列Classinfo_ShowType,因?yàn)橛幸粋€(gè)或多個(gè)對(duì)象訪(fǎng)問(wèn)此列(鄒建請(qǐng)進(jìn))

            2. 由于一個(gè)或多個(gè)對(duì)象訪(fǎng)問(wèn)此列錯(cuò)誤的解決辦法

            3. SQL Server】sql語(yǔ)句刪除表的有默認(rèn)值的列

            4. Alter Table修改表結(jié)構(gòu)的錯(cuò)誤及解決方法

          posted on 2011-06-13 14:52 一杯清茶 閱讀(2693) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 井研县| 西宁市| 焉耆| 徐闻县| 当阳市| 长丰县| 军事| 溆浦县| 赤水市| 富平县| 通化市| 平湖市| 长宁区| 抚州市| 新蔡县| 开封市| 阳谷县| 桐乡市| 屯留县| 府谷县| 镇雄县| 鹤壁市| 沈丘县| 南通市| 习水县| 徐汇区| 沙河市| 桂阳县| 余江县| 双柏县| 杭锦后旗| 同德县| 井冈山市| 屯昌县| 石河子市| 广宗县| 东辽县| 涡阳县| 兴安县| 临高县| 高雄县|