怎么得到表的主键(用sql语句)

Cauty45 2002-05-27 04:06:29
怎么得到表的主键(用sql语句)
...全文
41 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
biti_rainy 2002-05-27
  • 打赏
  • 举报
回复

SQL> desc user_tab_columns;
名称 空? 类型
----------------------------------------- -------- ----------------------------
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME NOT NULL VARCHAR2(30)
DATA_TYPE VARCHAR2(106)
DATA_TYPE_MOD VARCHAR2(3)
DATA_TYPE_OWNER VARCHAR2(30)
DATA_LENGTH NOT NULL NUMBER
DATA_PRECISION NUMBER
DATA_SCALE NUMBER
NULLABLE VARCHAR2(1)
COLUMN_ID NOT NULL NUMBER
DEFAULT_LENGTH NUMBER
DATA_DEFAULT LONG
NUM_DISTINCT NUMBER
LOW_VALUE RAW(32)
HIGH_VALUE RAW(32)
DENSITY NUMBER
NUM_NULLS NUMBER
NUM_BUCKETS NUMBER
LAST_ANALYZED DATE
SAMPLE_SIZE NUMBER
CHARACTER_SET_NAME VARCHAR2(44)
CHAR_COL_DECL_LENGTH NUMBER
GLOBAL_STATS VARCHAR2(3)
USER_STATS VARCHAR2(3)
AVG_COL_LEN NUMBER

你所需要的信息都在上面几个表中
你看一看表结构就明白了,很简单的
想提取什么信息就提取什么信息

不至于要我写出具体的sql吧 :)
biti_rainy 2002-05-27
  • 打赏
  • 举报
回复
???
我……

c 和 _ ?
只是sqlplus中显示的,没有实际意义


SQL> select distinct(CONSTRAINT_TYPE) from all_constraints;

C
-
C
O
P
R
U
V


C:非空约束
O:read only 类型的视图
P:主键
R:外键
U:唯一约束
V:视图中有 with check
Cauty45 2002-05-27
  • 打赏
  • 举报
回复
能否再信息一点?
比如要知道表 table1 的所有主键名和类型,怎么办?
Cauty45 2002-05-27
  • 打赏
  • 举报
回复
_ 和 C 代表什么?
Cauty45 2002-05-27
  • 打赏
  • 举报
回复
_ 和 P 代表什么?
biti_rainy 2002-05-27
  • 打赏
  • 举报
回复
SQL> desc user_constraints;
名称 空? 类型
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
CONSTRAINT_TYPE VARCHAR2(1)
TABLE_NAME NOT NULL VARCHAR2(30)
SEARCH_CONDITION LONG
R_OWNER VARCHAR2(30)
R_CONSTRAINT_NAME VARCHAR2(30)
DELETE_RULE VARCHAR2(9)
STATUS VARCHAR2(8)
DEFERRABLE VARCHAR2(14)
DEFERRED VARCHAR2(9)
VALIDATED VARCHAR2(13)
GENERATED VARCHAR2(14)
BAD VARCHAR2(3)
RELY VARCHAR2(4)
LAST_CHANGE DATE

SQL> select distinct(CONSTRAINT_TYPE) from user_constraints;

C
-
P

SQL> desc user_cons_columns;
名称 空? 类型
----------------------------------------- -------- ------------------------
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
POSITION NUMBER

SQL>

类型为 P 的就是主键
下面表是具体的列

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧