视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
SqlServer添加删除字段判断表或字段是否存在得到
2020-11-09 13:43:09 责编:小采
文档

增加字段 alter table docdsp add dspcode char(200) 删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 改名 sp_rename 更改当前数据库中用户创建对象(如表、列或用户

  增加字段

  alter table docdsp add dspcode char(200)

  删除字段

  ALTER TABLE table_NAME DROP COLUMN column_NAME

  修改字段类型

  ALTER TABLE table_name ALTER COLUMN column_name new_data_type

  改名

  sp_rename

  更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。

  语法

  sp_rename [ @objname = ] 'object_name' ,

  [ @newname = ] 'new_name'

  [ , [ @objtype = ] 'object_type' ]

  =======================================================

  --假设要处理的表名为: tb

  --判断要添加列的表中是否有主键

  if exists(select 1 from sysobjects where parent_obj=object_id('tb') and xtype='PK')

  begin

  print '表中已经有主键,列只能做为普通列添加'

  --添加int类型的列,默认值为0

  alter table tb add 列名 int default 0

  end

  else

  begin

  print '表中无主键,添加主键列'

  --添加int类型的列,默认值为0

  alter table tb add 列名 int primary key default 0

  end

  /**************************************************************************************/

  判断table1中是否存在name字段

  if exists(select * from syscolumns where id=object_id('table1') and) begin

  select * from people;

  end

  ========================================================================

  如果是实表可以用

  if exists (select * from sysobjects where id = object_id(N'[dbo].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[表名]--如果表存在就删除

  如果是临时表可以用

  if object_id('tempdb..##temp') is not null

  drop table ##temp

  说明,如果用查找实表方法来打临时表会找不到.发布区别对代.

  ==========================================================

  得到表字段的描述

  我一般用这个视图

  Create view fielddesc

  as

  select o.name as oname, c.name as cname,convert(varchar(30),p.value) as value,p.smallid as psmallid,t.name as tname

  from syscolumns c

  join systypes t on c.xtype = t.xtype

  join sysobjects o on o.id=c.id

  left join sysproperties p on p.smallid=c.colid and p.id=o.id

  where o.xtype='U'

  查询时:

  Select * from fielddesc where oname = '你的表名'

注:更多精彩教程请关注三联教程 频道,

下载本文
显示全文
专题