我可以通过Oracle的ALL_TAB_COLS视图查看列是主键还是外键?
select *
from all_tab_cols
where table_name = 'ALL_TAB_COLS'
;
1 SYS ALL_TAB_COLS OWNER VARCHAR2 30 N 1 <Long> CHAR_CS 30 NO NO 30 B NO YES NO NO 1 1
2 SYS ALL_TAB_COLS TABLE_NAME VARCHAR2 30 N 2 <Long> CHAR_CS 30 NO NO 30 B NO YES NO NO 2 2
3 SYS ALL_TAB_COLS COLUMN_NAME VARCHAR2 30 N 3 <Long> CHAR_CS 30 NO NO 30 B NO YES NO NO 3 3
4 SYS ALL_TAB_COLS DATA_TYPE VARCHAR2 106 Y 4 <Long> CHAR_CS 106 NO NO 106 B NO YES NO NO 4 4
5 SYS ALL_TAB_COLS DATA_TYPE_MOD VARCHAR2 3 Y 5 <Long> CHAR_CS 3 NO NO 3 B NO YES NO NO 5 5
6 SYS ALL_TAB_COLS DATA_TYPE_OWNER VARCHAR2 30 Y 6 <Long> CHAR_CS 30 NO NO 30 B NO YES NO NO 6 6
7 SYS ALL_TAB_COLS DATA_LENGTH NUMBER 22 N 7 <Long> NO NO 0 NO YES NO NO 7 7
8 SYS ALL_TAB_COLS DATA_PRECISION NUMBER 22 Y 8 <Long> NO NO 0 NO YES NO NO 8 8
9 SYS ALL_TAB_COLS DATA_SCALE NUMBER 22 Y 9 <Long> NO NO 0 NO YES NO NO 9 9
10 SYS ALL_TAB_COLS NULLABLE VARCHAR2 1 Y 10 <Long> CHAR_CS 1 NO NO 1 B NO YES NO NO 10 10
11 SYS ALL_TAB_COLS COLUMN_ID NUMBER 22 Y 11 <Long> NO NO 0 NO YES NO NO 11 11
12 SYS ALL_TAB_COLS DEFAULT_LENGTH NUMBER 22 Y 12 <Long> NO NO 0 NO YES NO NO 12 12
13 SYS ALL_TAB_COLS DATA_DEFAULT LONG 0 Y 13 <Long> CHAR_CS 0 NO NO 0 NO YES NO NO 13 13
14 SYS ALL_TAB_COLS NUM_DISTINCT NUMBER 22 Y 14 <Long> NO NO 0 NO YES NO NO 14 14
15 SYS ALL_TAB_COLS LOW_VALUE RAW 32 Y 15 <Long> NO NO 0 NO YES NO NO 15 15
16 SYS ALL_TAB_COLS HIGH_VALUE RAW 32 Y 16 <Long> NO NO 0 NO YES NO NO 16 16
17 SYS ALL_TAB_COLS DENSITY NUMBER 22 Y 17 <Long> NO NO 0 NO YES NO NO 17 17
18 SYS ALL_TAB_COLS NUM_NULLS NUMBER 22 Y 18 <Long> NO NO 0 NO YES NO NO 18 18
19 SYS ALL_TAB_COLS NUM_BUCKETS NUMBER 22 Y 19 <Long> NO NO 0 NO YES NO NO 19 19
Run Code Online (Sandbox Code Playgroud)
否 - 您不能,因为此信息不是该视图的一部分,请参阅http://download.oracle.com/docs/cd/B13789_01/server.101/b10755/statviews_1179.htm
要查找表的主键列,请参阅http://www.techonthenet.com/oracle/questions/find_pkeys.php - 信息位于Views all_constraints+中all_cons_columns.
要查找外键信息,请尝试:
SELECT cols.table_name, cols.column_name, cols.position, cons.status, cons.owner
FROM all_constraints cons, all_cons_columns cols
WHERE cons.constraint_type = 'R'
AND cons.constraint_name = cols.constraint_name
ORDER BY cols.table_name, cols.position;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6011 次 |
| 最近记录: |