修改表问题
我在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 收入