sql server 查找字段上的约束

1.  当字段没有默认值或者约束的时候可以使用:

    alter table [table_name] drop column [column_name] 来删除。

    当有默认值的时候应该先删除默认值,然后再删除此列,不然会报错。具体方法如下

    select
b.name from sysobjects b join syscolumns a on b.id = a.cdefault where a.id = object_id('表名') and a.name = '列名'”;

    ALTER TABLE Recording DROP constraint 约束名

     ALTER TABLE 表名 DROP COLUMN 列名

示例:如下为删除数据库
[MusicStore]中AlbumModels表的Price列约束
use [MusicStore];--数据库名

declare @tableName nvarchar(100);--表名

declare @columnName nvarchar(100);--列名

declare @cnt nvarchar(100);

declare @sqlcmd nvarchar(1024);

set @tableName='AlbumModels'

set @columnName='Price'

select @cnt= b.name from sysobjects b join syscolumns a on b.id = a.cdefault where a.id = object_id(@tableName) and a.name = @columnName

set @sqlcmd = 'ALTER TABLE '+ @tableName +' DROP constraint ' + @cnt;

exec sp_executesql @sqlcmd

 



2.  在sqlserver中如何增加一个字段

    ALTER TABLE 表名 ADD 字段名称字段类型 Default 默认值




 

你可能感兴趣的:(SQL Server)