用select a.name from sysobjects a inner join syscolumns b on a.id=b.id where b.name=主键名,找出所有带这个主键的表,然后用游标循环,或者直接select循环(表数量不多时),来做。 直接循环的话select @sql=@sql+'alter table '+a.name+' ADD CONSTRAINT PK_主键列名 PRIMARY KEY CLUSTERED (主键列名) ON [PRIMARY] ' from sysobjects a inner join syscolumns b on a.id=b.id where b.name=主键列名 然后exec(@sql)即可。 游标的方法类似,只是用游标循环而已,如果表比较多则需要用游标(否则8000的varchar变量不够用)
直接循环的话select @sql=@sql+'alter table '+a.name+' ADD CONSTRAINT PK_主键列名 PRIMARY KEY CLUSTERED (主键列名) ON [PRIMARY] ' from sysobjects a inner join syscolumns b on a.id=b.id where b.name=主键列名
然后exec(@sql)即可。
游标的方法类似,只是用游标循环而已,如果表比较多则需要用游标(否则8000的varchar变量不够用)