SQL Server 相关SQL语句

来源:互联网 发布:大数据方向课题 编辑:程序博客网 时间:2024/05/22 02:14
  1. 添加外键
    alter table dbo.MyTable add constraint fk_AuthorID foreign key (AuthorID) references dbo.Varrily([ID])
  2. 删除外键
    x先找出约束名字
    然后删除它

–测试环境
–主表
create table test1(id int primary key not null,value int)
insert test1 select 1,2
go
–从表
create table test2(id int references test1(id),value int)
go
–第一步:找出test2表上的外键约束名字
–2000
exec sp_helpconstraint ‘test2’
–可以在constraint_name 属性中找到外键约束名字
–2005
select name
from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id
where f.parent_object_id=object_id(‘test2’)
/*

name

FK__test2__id__08EA5793*/

–第二步:删除外键约束
alter table test2 drop constraint FK__test2__id__08EA5793

–第三步:检查表上是否还有外键约束
–只要使用第一步里面的查找语句即可

3、唯一约束
  唯一约束与主键比较相似,共同点在于它们都要求表中指定的列(或者列的组合)上有一个唯一值,区别是唯一约束没有被看作表中记录的唯一标识符(即使你可以按这样的方式使用也有效),而且可以有多个唯一约束(而在每个表中只能有一个主键)。

  一旦建立了唯一约束,那么指定列中的每个值必须是唯一的。如果更新或者插入一条记录在带唯一约束的列上有已经存在的值的记录,SQLServer将抛出错误,拒绝这个记录。

  和主键不同,唯一约束不会自动防止设置一个NULL值,是否允许为NULL由表中相应列的NULL选项的设置决定,但即使确实允许NULL值,一张表中也只能够插入一个NULL值(如果允许多个,那就不叫唯一了)。

  在已存在的表上创建唯一约束:

alter table Account
add constraint AK_AccountName –约束名
unique (Account_Name) – 列名
  AK代表替换键(Alternate Key),唯一约束也叫替换键。

原创粉丝点击