在SQL Server数据库中删除某一列,使用数据库管理工具直接可视化操作是很简单的,但是如果要用sql脚本呢?可能你会说很简单,直接用
ALTER TABLE [要删除的字段所在的表名]
DROP COLUMN [要删除的字段];
GO
这样不就OK了吗?

可是如果这个字段上要是有约束的话呢,就会弹出类似如下的提示:
消息 5074,级别 16,状态 1,第 1 行
对象'DF__***__***__682A18F4' 依赖于 列'***'。
消息 4922,级别 16,状态 9,第 1 行
由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN ***失败。

如何解决这个问题呢?
首先你可以要找到该字段的约束,然后删除它
--查询某个表的所有的字段约束
sp_helpconstraint [要删除的字段所在的表名]

--查询某表某字段的默认约束
select name as 约束名
from sysobjects 
where id in (select cdefault 
from syscolumns
where name in ( [要删除的字段]) 
and id=(select id 
from sysobjects

where name = [要删除的字段所在的表名]))

查询到约束后,就要删除约束了

--删除字段上的约束
ALTER TABLE  [要删除的字段所在的表名]
DROP 约束名;

GO

现在再来删除你要删除的字段就没有问题了,呵呵
ALTER TABLE [要删除的字段所在的表名]
DROP COLUMN [要删除的字段];
GO

转载于:https://www.cnblogs.com/kevinGao/archive/2012/07/16/2605588.html

SQL Server数据库中使用sql脚本删除指定表的列相关推荐

  1. 怎么从 SQL Server 数据库中导出 SQL 语句?

    同于直接/备份/恢复 或者 导入/导出 数据库操作. 新版本SQL Server客户端中还可以生成相对应的SQL语句. 非常方便与查看和与其他人共享. 操作步骤如下: 连接上数据库后, 右击数据库, ...

  2. 清空SQL Server数据库中所有表数据的方法(转)

    清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...

  3. 利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法)

    利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法) 安装好Navicat Premium,SQL Serve ...

  4. 如何对两个大型SQL Server数据库中的数据进行快速估计比较,以查看它们是否相等

    Bringing impactful analysis into a data always comes with challenges. In many cases, we rely on auto ...

  5. SQL Server数据库中的T-SQL如果存在语句概述

    This article walks through different versions of the T-SQL IF EXISTS statement for the SQL database ...

  6. 聊一聊 SQL Server 数据库中的锁!

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 来源:cnblogs.com/CoderAyu/p/11375088.html ...

  7. SQL SERVER数据库中GUEST用户

    SQL SERVER数据库中GUEST用户 问题 谁邀请这些客人(guest)到我的数据库中?你可知道在你的SQL SERVER数据库中还存在guest用户?你可知道SQL SERVER 需要gues ...

  8. SQL Server数据库中批量导入数据的四种方法总结

    在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题.其实,在SQL Server中集成了很多成批导入数据的方法.有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟.现在的重点就是, ...

  9. 通过VB向SQL Server数据库中录入数据

    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 一.数据录入 通过VB向SQL Se ...

最新文章

  1. 抽象方法和接口的区别
  2. multisim 12.0安装教程
  3. springboot接收文件_SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递
  4. win10下安装SQLServer2000
  5. 字节数组转jsonobject(如读取HttpServletRequest.inputstream到jsonobject)
  6. LeetCode 680. 验证回文字符串 Ⅱ
  7. 马云今日正式退休!卸任后的他,仍有12个身份...
  8. MATLAB学习笔记(七)——MATLAB解方程与函数极值
  9. 下拉刷新和上拉加载更多
  10. [HZOI 2016]tree—增强版
  11. 【预测模型】Gompertz 曲线方程预测
  12. mediatek无线usb网卡驱动 linux,Ralink雷凌USB无线网卡驱动5.1.7.0版 Ralink雷凌USB无线网卡驱动5.1.7.0版 无线网卡驱动 雷凌...
  13. Markdown基本语法(摘录)
  14. Kali Linux 安装VMware虚拟机和音乐播放器
  15. 建设银行网银U盾证书更新教程【证书更新】
  16. Windows 8实用窍门系列:6.Windows 8中的Popup使用方式
  17. Weka数据挖掘——选择属性
  18. qstock 玩转问财:一行代码实现条件选股
  19. 在WSL上安装MuJoCo和mujoco_py
  20. cf1239C (接热水)

热门文章

  1. 在线教育开源 java_开源项目SpringBoot在线教育平台
  2. TortoiseSVN使用方法
  3. python中如何定义一个数组_Python数组定义方法
  4. 显示驱动包含在Linux内核层,驱动程序层(上) - Linux内核--网络栈实现分析_Linux编程_Linux公社-Linux系统门户网站...
  5. java web ftp上传_java web FTPClient实现上传文件到指定服务器
  6. Linux下mknod的作用,Linux系统mknod命令用法
  7. msk误码率 matlab仿真,GMSK调制解调的MATLAB仿真与误码率分析.pdf
  8. html 打开页面光标自动选中输入框_初识selenium之web自动化
  9. rbac权限管理5张表_PHP之常用的RBAC权限管理详解
  10. Pavel and Triangles(贪心)