急,请教关于返回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 ';