索引依赖于列T-SQL

时间:2016-07-13 14:42:27

标签: c# sql-server tsql ssms

我尝试更改主键约束,但得到错误说:“索引依赖于列”。我尝试删除索引,但似乎什么也没做。我甚至正在做正确的方式吗?如果没有,有没有办法获得具体的索引名称?此处还有前一个问题的link以获取更多详细信息。

declare @CONSTRAINTNAME varchar(128);
declare @script nvarchar(max);

select top 1 @CONSTRAINTNAME = t1.CONSTRAINT_NAME
from INFORMATION_SCHEMA.TABLE_CONSTRAINTS t1
where CONSTRAINT_TYPE = 'PRIMARY KEY' and upper(t1.TABLE_NAME) = @tableName;

set @script = N'alter table [' + @tableName + N'] drop constraint [' + @CONSTRAINTNAME + N']';
exec sp_executesql @script

--drop
set @script = N'alter table [' + @tableName + N'] drop index[' + @oldIndex+ N']';
exec sp_executesql @script

set @script = N'alter table [' + @tableName + N'] add constraint [' + @tableName + '_' + @columnName + N'] primary key (['+ @columnName +'])';
exec sp_executesql @script

0 个答案:

没有答案