打印

怎么取到数据库表中唯一键的信息

怎么取到数据库表中唯一键的信息

我想取得数据库中的表是否有唯一键,怎么取得呢,查看DatabaseMeta中方法好像找不到,
我的数据库用的是informix

TOP

你可以关联系统表SYSCONSTRAINTS和SYSTABLES来查询

TOP

版主能给点代码提示吗,谢谢

TOP

你是要把没有主键的表查出来吗?

TOP

是的,我想把没有主键的,但有唯一键的查询出来

TOP

你试试
select a.tabname,a.owner
  from SYSTABLES a
where a.tabid not in (select b.tabid from SYSCONSTRAINTS b where b.constrtype='P')
       and a.tabid in (select c.tabid from SYSCONSTRAINTS c where c.constrtype='U')
       and a.owner <> 'informix'
       and a.tabtype='T';

我没有informix的数据库,所以这个SQL没测试过

TOP

试过后请告诉我结果,谢谢

TOP

提示表或视图不存在,找不以保存数据字典的表

TOP

引用:
最初由 fgliu 发布
[B]提示表或视图不存在,找不以保存数据字典的表 [/B]
你用哪个用户连接数据库运行这个sql的?

TOP

提示
SQL State: 42000, Error Code: 942
权限方面应该有吧,但我现在也不太清楚

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-9-8 21:13 京ICP证060528 号

Designed By 17DST