--删除
alter table 你的表 drop constraint 主键名
go
--修改
ALTER TABLE 你的表 ALTER COLUMN 列名 你的类型 
go
--增加
alter table 你的表 add constraint 主键名 primary key (列名)
go

解决方案 »

  1.   

    用企业管理器多方便.为什么非得用sql语句呢
      

  2.   

    create table a (bb varchar(10) not null,cc money)alter table a add primary key (bb)alter table a drop CONSTRAINT PK__a__1372D2FE"PK__a__1372D2FE" 为sysobjects 中表a的主键对象的name列的值.alter table a alter column 修改的列 数据类型
    alter table a add primary key (要设置为主键的列)
      

  3.   

    因为要给用户升级程序,所以必须要求使用sql语句。我会试验一下各位大虾的意见,如果可行,立即结贴放分。
      

  4.   

    可以先利用系统存储过程,先查看一下表中约束的情况,找到表中主键约束的名字--打开数据库
    use database_name--查看表上主键约束的名字exec sp_helpconstraint table_name---删除表上存在的主键约束drop constraint constraint_name---做完你需要做的工作后---再次修改表,将主键约束添加上alter table table_name
    add primary key(column_name)--完成
      

  5.   

    declare @PK varchar(100)
    create table a (bb varchar(10) not null,cc money)alter table a add primary key (bb)select @pk=name from sysobjects where xtype='PK' and parent_obj=object_id('a')
    '                                                                  上面的a你的表名字exec ('alter table a drop CONSTRAINT '+@pk)这样应该可以吧。
      

  6.   

    代碼先全部編譯,不是一部分一部分的先執行的。是一起執行,編譯通不過的,因為你還沒有drop,是改不了的