SqlServer按索引名查找所属表名

引言:

 

    我们在做较新的Java项目时,如果数据库添加了索引,出错后,会在Java侧捕获到这些异常信息。特别是数据库索引命名很“丑”的情况下,看着所报的“索引index_A(或者唯一索引index_A)冲突”,就只好一个个表猜着找。其实在sqlServer下,可以通过SQL语句直接用这个所报的索引名称“index_A”查出所属表。

 

正文:

 

    sqlServer下,根据索引名查询所属表名,可以采用如下SQL语句:

-------------------------------------------- 
-- search the table name by an index name 
-------------------------------------------- 

-- define the index's name 
DECLARE  @index_name NVARCHAR(200) 

-- set the index_name here 
SET @index_name = N'PK__FILE_TABLE_REL__208E6DA8';

SELECT o.name 
FROM   sys.objects o 
WHERE  o.object_id = (SELECT s.object_id 
                      FROM   sys.stats s 
                      WHERE  s.name = @index_name) 

 

    特别是在表很多的情况下,相当方便。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值