sql - 重命名索引给出错误 Explicit @objtype id not recognized

标签 sql sql-server

我正在尝试重命名索引并遇到错误:

Error: Explicit @objtype 'idx_FinData20' is unrecognized.

我可以看到表和索引都存在。那到底是什么问题

     IF ( EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND  TABLE_NAME ='FinData2000_1_old'))
     BEGIN

     EXEC sp_rename  'FinData2000_1_old.idx_FinData2000_1' , 'idx_FinData2000_1', 'idx_FinData20 00_1_old'

     end

最佳答案

首先 - 你的语法是错误的。您只需要两个参数,第一个应该是 table_name.old_name,第二个是 new name。 其次 - 您的新索引名称中有一个额外的空格,这会破坏脚本。

EXEC sp_rename 'FinData2000_1_old.idx_FinData2000_1' , 'idx_FinData2000_1_old'

关于sql - 重命名索引给出错误 Explicit @objtype id not recognized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47756157/

相关文章:

sql - 将存储过程结果插入临时表

python - Python中的Mysqldb INSERT INTO语法错误

sql - 根据条件聚合文本

sql - 按系列列分区的 RANK 记录 (Vertica SQL)

python - 尝试了解 Django 外键的工作原理

android - 跨平台技术栈 : Sharing code and database in Android and ASP. NET MVC

sql - 替换函数 - 在 SQL SERVER 2008 中处理单引号和正斜杠

sql-server - 高效地动态创建 CSV 文件报告,而不会减慢 Node.js 服务器的速度

python - 将 python 变量插入 mysql 表的行中

带有存储过程的 SQL Server openquery() 不返回数据