Oracle判断主键
作者:邱名涛
撰写时间:2019年4月1日
关键技术:Oracle
1.如何判断那些表没有建立主键
2.一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的。
3.其它相关数据字典解释 :user_tables 表
user_tab_columns 表的列
user_constraints 约束
user_cons_columns 约束与列的关系
user_indexes 索引
user_ind_columns 索引与列的关系
例、CREATE TABLE text(
employee_id NUMBER(6) primary key , //(primary key:设置主键)
last_name VARCHAR2(25) NOT NULL,
email VARCHAR2(25)constraint empl0_u unique,
salary NUMBER(8,2) check (salary>2000 and salary<50000),
commission_pct NUMBER(2,2),
hire_date date,
department_id NUMBER(4),
FOREIGN KEY (department_id) REFERENCES departments(department_id)
);
//2.创建好所有表后,可以查询一下用户表。(查询最近新增的表)
例、select * from User_tables
3.再查询表的约束(加上Where条件,过滤带有主键’p’的数据)
例、select * from user_constraints --user_constraints:查询表的约束
where constraint_type=‘P’ --constraint_type:主键为P
4.最后查询用户表和约束表,将带有主键标识’p’和Table_name相同数据显示出来
SELECT table_name
FROM User_tables t
WHERE NOT EXISTS (SELECT table_name
FROM User_constraints c
WHERE constraint_type = ‘P’
AND t.table_name=c.table_name)