删除表字段的sql语句
哎,还是上周的事情了,csdn的博客最近咋老是打不开呢!
基本语句:Alter table 表名 drop Column 字段名
另单单是这样是不行滴,还要删除对应的关系滴。下面就把查找到的那篇文章引用下吧!
原文地址:http://hi.baidu.com/lisky119/blog/item/3c348c082573949c0a7b82d1.html
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: lw
-- Create date: 2009-07-31
-- Description: 强行删除表列,【无错误】【删除表的列之前一定要删除依赖,索引】,不然会报很多错误
-- =============================================
alter PROCEDURE [dbo].[Delete_Column_Constraint]
(
@tablename nvarchar(50),
@columnname nvarchar(50)
)
AS
--删除某字段的所有关系
declare tb cursor local for
--默认值约束
select sql='alter table ['+b.name+'] drop constraint ['+d.name+']'
from syscolumns a
join sysobjects b on a.id=b.id
join syscomments c on a.cdefault=c.id
join sysobjects d on c.id=d.id
where b.name = @tablename
and a.name = @columnname
union all --外键引用
select s='alter table ['+c.name+'] drop constraint ['+b.name+']'
from sysforeignkeys a
join sysobjects b on b.id=a.constid
join sysobjects c on c.id=a.fkeyid
join syscolumns d on d.id=c.id and a.fkey=d.colid
join sysobjects e on e.id=a.rkeyid
join syscolumns f on f.id=e.id and a.rkey=f.colid
where e.name = @tablename
and d.name = @columnname
union all --索引
select case e.xtype when 'PK' then 'alter table ['+c.name+'] drop constraint ['+e.name+']'
else 'drop index ['+c.name+'].['+a.name+']' end
from sysindexes a
join sysindexkeys b on a.id=b.id and a.indid=b.indid
join sysobjects c on b.id=c.id and c.xtype='U' and c.name<>'dtproperties'
join syscolumns d on b.id=d.id and b.colid=d.colid
join sysobjects e on c.id=e.parent_obj
where a.indid not in(0,255)
and c.name='a'
and d.name='id'
declare @s varchar(8000)
open tb
fetch next from tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch next from tb into @s
end
close tb
deallocate tb
DECLARE @SQL AS nvarchar(500)
set @SQL = 'Alter table ' + @tablename + ' Drop Column ' + @columnname
EXECUTE sp_executesql @SQL
GO
删除表字段的sql语句相关推荐
- oracle数据库删除表字段的SQL语句
数据库删除字段的SQL语句 : alter table 表名 drop (column) 例如: alter table tableName drop (name)
- oracle查询表字段sql语句怎么写,oracle联合查询并更新一个表字段的sql语句
更新某一个字段写起来简单,也容易理解: UPDATE tablea A SET A.name=(select name from tableb B where A.id=B.id) 更新多个字段就显得 ...
- mysql批量取消多行sql_mysql批量删除指定前缀的表,批量修改表名的SQL语句
批量删除指定前缀的表 Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where tabl ...
- mysql 把一个字段的值_mysql把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法...
需求:把一个表某个字段内容复制到另一张表的某个字段. 实现sql语句1: UPDATE file_manager_folder f1 LEFT OUTER JOIN file_manager_fold ...
- 2016/05/13 thinkphp 3.2.2 ① 数据删除及执行原生sql语句 ②表单验证
[数据删除及执行原生sql语句] delete() 返回受影响的记录条数 $goods -> delete(30); 删除主键值等于30的记录信息 $goods -> delete( ...
- 查找数据库指定数据的数据表和字段名称SQL语句
查找数据库指定数据的数据表和字段名称SQL语句 五百年前,因怀璧其罪,她被天下追杀,还连累了唯一的亲人. http://weibo.com/p/23047910076763 在灵魂消散的那一刻 ...
- [SQL]查询及删除重复记录的SQL语句
一:查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (sel ...
- mysql删除重复记录语句的方法 作者: 字体:[增加 减小] 类型:转载 时间:2010-06-21 我要评论 查询及删除重复记录的SQL语句,虽然有点乱,但内容还是不错的。 . .
mysql删除重复记录语句的方法 作者: 字体:[增加 减小] 类型:转载 时间:2010-06-21 我要评论 查询及删除重复记录的SQL语句,虽然有点乱,但内容还是不错的. 例如: id name ...
- oracle删除表的一个字段的数据库,学会Oracle数据库删除表字段和Oracle数据库表增加字段方法...
Oracle数据库添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); Ora ...
最新文章
- 语言学生学籍管理系统流程图_基于C语言的学生管理系统(含文件)(一)
- django+asyncio资料调研整合
- Docker : Docker镜像的分层结构
- Win2000自动登陆
- 基于云端的通用权限管理系统,SAAS服务,基于SAAS的权限管理,基于SAAS的单点登录SSO,企业单点登录,企业系统监控,企业授权认证中心...
- iOS之UI--Quartz2D的入门应用--重绘下载圆形进度条
- 【Python之旅】第一篇:基于文件处理的登陆接口
- 【JavaScript脚本编程技术详解-----(一)】
- 3个方法解决百度网盘限速(转)
- Drupal迁移 | 如何创建一个Drupal 7 到 Drupal 9 的迁移路线图
- 关于鸿蒙开发系统组件的摘抄及运用1
- 电脑下载的M4A格式文件怎么转换为MP3格式 1
- idea 使用exe4j生成exe文件并且附带jre运行环境(亲测有效)
- switchyomega规则列表备份_详细资料|switchyomega设置教程详细介绍_234游戏网
- 教育网校搭建哪个好?
- android修改输出分辨率,编译Android8.1修改默认分辨率和屏幕密度
- Android自定义View绘制条形统计图
- 编程语言的历史介绍以及高级编程语言的分类
- 《乔布斯传》圈点(4)
- EBS FOLDER文件夹报:FRM-41045和FRM-40105