我在SQL SERVER中建立了如下表    
CREATE TABLE Student          
    (Sno   CHAR(9) PRIMARY KEY,            
     Sname  CHAR(20) UNIQUE,                 
     Ssex    CHAR(2),
     Sage   SMALLINT,
     Sdept  CHAR(20)
           );
我想请问用ALTER TABLE 命令如何去掉Sno的主码约束和Sname的唯一约束?
ALTER TABLE Student PRIMARY KEY(Sno),总是调试失败. 
谢谢

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/5417/5417265.xml?temp=.8316919
      

  2.   


    如果删除默认值,并且知道默认值约束的名称,可以直接执行   
        
      alter   table   收支表   drop   constraint   约束名   
        
      但是,一般情况下,都是系统定义的约束名,用户不知道约束的名称,用下面的语句。   
        
      --如果原来有默认值,现在需要更改默认值,执行如下语句:   
        
      declare   @csname   varchar(100)   
      set   @csname=''   
      select   @csname=[name] --约束名称   
      from   sysobjects   t   
      where   id=(select   cdefault   from   syscolumns   where   id=object_id(N'收支表')   and   name='收入')     
      exec('alter   table   收支表   drop   constraint   '+@csname)   
        
      alter   table   收支表   add   default(3000)   for   收入