首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

修改表有关问题

2012-03-05 
修改表问题我在SQLSERVER中建立了如下表CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)UNIQUE,Ss

修改表问题
我在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),总是调试失败.  
谢谢

[解决办法]
http://community.csdn.net/Expert/topic/5417/5417265.xml?temp=.8316919
[解决办法]

如果删除默认值,并且知道默认值约束的名称,可以直接执行

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 收入




热点排行