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

基础有关问题,怎么用SQL修改一个表的主键、外键和惟一性约束

2012-03-16 
基础问题,如何用SQL修改一个表的主键、外键和惟一性约束如题,谢谢了[解决办法]删除了再建[解决办法]要不就

基础问题,如何用SQL修改一个表的主键、外键和惟一性约束
如题,谢谢了

[解决办法]
删除了再建
[解决办法]
要不就是屏蔽约束:
alter table tablename nocheck constraint constraintname

[解决办法]
即然是修改,就应该知道原来的.
[解决办法]
删除了再建!
[解决办法]
如果删除默认值,并且知道默认值约束的名称,可以直接执行

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


[解决办法]
不懂,学习来了,帮顶吧,问题解决了吗? 你能给我一分就不错了,谢谢!
[解决办法]
例:
create table pk_test
(
id int,
num int ,
column1 varchar(10)
constraint pk_pk_test primary key (id)
)

调整主键
declare @pk_name varchar(255)
select @pk_name= name from sysobjects where parent_obj =OBJECT_ID( 'pk_test ')
and xtype = 'PK '
alter table pk_test drop constraint @pk_name --删除
alter table pk_test constraint pk_pk_test primary key (id) --重新创建



[解决办法]
楼上的少了个add:呵呵
alter table pk_test add constraint pk_pk_test primary key (id) --重新创建
[解决办法]
sp_helpindex tbname 可以知道表的所有索引
drop index tablename.indexname
create index indexname on tablename(fleidname,...)
[解决办法]
楼主在联机帮助里输入
alter table 查找
有语法和列子
[解决办法]
alter table
[解决办法]
查帮助,看constraint语法

热点排行