Dev*_*ebs 5 sql-server sql-server-2016
使用 SQL Server 2016,当我运行此命令时:
SELECT *
FROM sys.indexes
WHERE name = 'idx_Parts_PartNum'
Run Code Online (Sandbox Code Playgroud)
有一个结果。正如预期的那样。但是当我在同一个数据库上运行时:
exec sp_rename N'idx_Parts_PartNum', N'ux_Parts_PartNum', N'INDEX'
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
参数@objname 不明确或声明的@objtype (INDEX) 错误。
如果第一个查询显示该索引名称是正确的,什么会导致此错误?
我用谷歌搜索没有运气。我的索引名称不包含无效字符或保留字。
注意:这是作为唯一索引创建的,而不是唯一约束。
我可以使用 SQL Server Management Studio 重命名索引,不会出现错误。
您需要提供索引的完整路径,如文档中的示例所示:
CREATE TABLE dbo.YourTable (ID int);
GO
CREATE UNIQUE INDEX IX_YourIndex ON dbo.YourTable (ID);
GO
EXEC sp_rename N'dbo.YourTable.IX_YourIndex',N'UX_YourIndex','INDEX'; --Schema, Table, Index
GO
DROP TABLE dbo.YourTable;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3052 次 |
| 最近记录: |