Oracle-约束小结

前端之家收集整理的这篇文章主要介绍了Oracle-约束小结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. --not null只能作用于列级;
  2. --unique可作用于列级和表级;
  3. --primary key 可作用于列级和表级,相当于同时声明了not null unique
  4. --foreign key 可作用于列级和表级,一般作用于表级
  5. --check() 可作用于列级和表级
  6.  
  7. --创建表的时候创建约束,两种不同的形式(自定义名和系统默认)
  8. /*create table emp2(
  9. id number(10) constraint emp2_id_nn not null,name varchar2(20) not null,salary number(10,2)
  10. )*/
  11.  
  12. --同时为一列创建非空约束和唯一约束
  13. /*create table emp4(
  14. --列级约束
  15. id number(10) constraint emp4_id_nn not null,name varchar2(20) constraint emp4_name_nn not null,email varchar2(20),2),--表级约束
  16. constraint emp4_id_uk unique(id),constraint emp4_email_uk unique(email)
  17. )*/
  18.  
  19. --constraint primary key
  20. /*create table emp4(
  21. --定义在列级
  22. id number(10) constraint emp4_id_pk primary key,constraint emp4_email_uk unique(email)
  23. --定义在表级
  24. --constraint emp4_id_pk primary key(id)
  25. )*/
  26.  
  27. --定义外键约束
  28. /*create table emp5(
  29. id number(10) constraint emp5_id_pk primary key,department_id number(20),constraint emp5_email_uk unique(email),--定义在表级
  30. constraint emp5_dept_id_fk foreign key(department_id) references departments(department_id) on delete set null
  31. )/*departments 为父表,emp5为子表*/
  32. /*on delete cascade 级联删除,当父表中的列被删除时,子表中相对应的列也被删除*/
  33. /*on delete set null 级联置空 ,。。。子表中相应的列置空*/
  34.  
  35. -- check约束
  36. create table emp7(
  37. id number(10) constraint emp7_id_pk primary key,name varchar2(20) constraint emp7_name_nn not null,2) constraint emp7_salary_ck check(salary>1500),constraint emp7_email_uk unique(email),--定义在表级,不用再在后面额外追加列名,已经写在了check(里面)
  38. --constraint emp7_salary_ck check(salary>1500)
  39. )
  40.  
  41. --添加修改删除约束
  42. alter table emp5
  43. --add
  44. add constraint emp5_name_uk unique
  45. --modify
  46. modify (salary number(10,2) not null)
  47. --drop
  48. drop constraint SYS_C005484
  49. --disable
  50. disable constraint emp5_name_uk
  51. --enable
  52. enable constraint emp5_name_uk
  53.  
  54. --查询约束
  55. select constraint_name,constraint_type,search_condition,column_name
  56. from user_constraints where table_name = 'employees'

猜你在找的Oracle相关文章