if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_11_22]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[11] DROP CONSTRAINT FK_11_22 
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[33]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[33]
GO
ALTER TABLE [dbo].[122] WITH NOCHECK ADD 
CONSTRAINT [PK_122] PRIMARY KEY  CLUSTERED 
(
[1]
)  ON [PRIMARY] 
GO
请帮忙解释下以上语句是什么意思??

解决方案 »

  1.   

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_11_22]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
    ALTER TABLE [dbo].[11] DROP CONSTRAINT FK_11_22  
    GO以本人的理解这个的意思是:如果表11存在约束,约束条件为“FK_11_22”。并且表11作为主键,表“FK_11_22”作为外键,DROP CONSTRAINT FK_11_22  是删除外键。if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[33]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[33]
    GO
    “这句解释不出来”   = =ALTER TABLE [dbo].[122] WITH NOCHECK ADD  
    CONSTRAINT [PK_122] PRIMARY KEY CLUSTERED  
    (
    [1]
    ) ON [PRIMARY]  
    GO这句说的是创建表122,并且设置约束……后面的解释不出来了。而且上面的我总觉得本人解释得不正确,所以有请懂得SQL语句的朋友帮我解释一下,让我看下我哪里出现错误了。。谢谢了
      

  2.   

    其实我觉得.....
    楼主别生气,这些东西很容易就能google到,或者在联机帮助里面看到的..
      

  3.   

    #1 如果存在名称为[dbo].[FK_11_22]的一个外键,则从表[dbo].[11]中删除它
    #2 如果存在名称为[dbo].[33]的一个用户表,则删除它
    #3 对表[dbo].[122]新建一个主键(聚集索引)
      

  4.   

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_11_22]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
    ALTER TABLE [dbo].[11] DROP CONSTRAINT FK_11_22  
    GO
    --如果存在FK_11_22,则删除FK_11_22if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[33]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[33]
    GO
    --如果存在[dbo].[33],则删除ALTER TABLE [dbo].[122] WITH NOCHECK ADD  
    CONSTRAINT [PK_122] PRIMARY KEY CLUSTERED  
    (
    [1]
    ) ON [PRIMARY]  
    GO--为[dbo].[122]的[1] 加上主键
      

  5.   

    #3 对表[dbo].[122]在字段[1]上新建一个主键(聚集索引)
    你可以对某个设置一个主键和外键,再生成script来查看相关SQL.