日期:2014-05-17  浏览次数:20605 次

急,请教关于返回Oracle表主关键字问题
请教一个问题,入参是一个表名称,用一个SQL   语句返回这个表的主关键字列名称,怎么写呢?大家多多指教小第,谢谢!

------解决方案--------------------
select column_name from dba_cons_columns
where onwer= 'UserName ' and table_name= 'TableName '
------解决方案--------------------
楼上的大意了 是owner 不是onwer

应该是这样的

select * from dba_cons_columns
where owner= 'Username ' and table_name= 'TableName ' and position = 1

而且注意 UserName 和TableName 一定都是大写的
------解决方案--------------------
SELECT A.COLUMN_NAME
FROM USER_CONS_COLUMNS A, USER_CONSTRAINTS B
WHERE A.TABLE_NAME = 'TABLE_NAME '
AND A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
AND B.CONSTRAINT_TYPE = 'P ';