SQL約束和字段約束的創(chuàng)建和刪除
下文為您介紹SQL語(yǔ)句如何表示SQL約束和字段約束的創(chuàng)建和刪除,如果您對(duì)此有興趣,不妨一看,相信對(duì)您有所幫助。
1)禁止所有表約束的SQL
select 'alter table '+name+' nocheck constraint all' from sysobjects where type='U'
2)刪除所有表數(shù)據(jù)的SQL
select 'TRUNCATE TABLE '+name from sysobjects where type='U'
3)恢復(fù)所有表約束的SQL
select 'alter table '+name+' check constraint all' from sysobjects where type='U'
4)刪除某字段的約束
declare @name varchar(100)
--DF為約束名稱(chēng)前綴
select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('表名') and b.id=a.cdefault and a.name='字段名' and b.name like 'DF%'
--刪除約束
alter table 表名 drop constraint @name
--為字段添加新默認(rèn)值和約束
ALTER TABLE 表名 ADD CONSTRAINT @name DEFAULT (0) FOR [字段名]對(duì)字段約束進(jìn)行更改
--刪除約束
ALTER TABLE tablename
Drop CONSTRAINT 約束名
--修改表中已經(jīng)存在的列的屬性(不包括約束,但可以為主鍵或遞增或唯一)
ALTER TABLE tablename
alter column 列名 int not null
--添加列的約束
ALTER TABLE tablename
ADD CONSTRAINT DF_tablename_列名 DEFAULT(0) FOR 列名
--添加范圍約束
alter table tablename add check(性別 in ('M','F'))