1. 程式人生 > >oracle 如何獲取表的主鍵列名,如何獲取表的所有列名

oracle 如何獲取表的主鍵列名,如何獲取表的所有列名

database 分享 for body cut expand int gif 通過

獲取表的主鍵列名 SQL

技術分享圖片 select * from user_cons_columns
技術分享圖片 where constraint_name = (select constraint_name from user_constraints
技術分享圖片 where table_name = ‘BST_FAVORITE‘ and constraint_type =‘P‘);

記住:表名要大寫
執行試試,該表所有主鍵都查出來了,主鍵列名就在第四列

獲取表的所有列名 SQL

技術分享圖片select * from table_name where rownum=1


這條sql語句相信大家都知道什麽意思.

用jdbc編程查主鍵列名,可以通過以上第一條語句來查詢.
還有一種方法可以查詢表的主鍵列名,是使用jdbc編程方式,代碼如下:

技術分享圖片DatabaseMetaData dbmd= conn.getMetaData();
技術分享圖片rs = dbmd.getPrimaryKeys(null,null,tableName.toUpperCase()); //要將表名轉為大寫才能正確取出主鍵來
技術分享圖片
技術分享圖片while (rs.next()) {
技術分享圖片columnName=rs.getString(4);
技術分享圖片System.out.println(columnName);
技術分享圖片}

用jdbc獲取表的所有列名,也可以通過以上第二條sql語句來獲取,具體代碼如下:

技術分享圖片String sql="select * from table_name where rownum=1";
技術分享圖片stm=conn.createStatement();
技術分享圖片 rs=stm.executeQuery(sql);
技術分享圖片 rs.next();
技術分享圖片
技術分享圖片 ResultSetMetaData metadata=rs.getMetaData();
技術分享圖片 for(int i=1;i<=metadata.getColumnCount();i++) {
技術分享圖片 System.out.println(metadata.getColumnName(i)); }

oracle 如何獲取表的主鍵列名,如何獲取表的所有列名