创建数据库


1

2

3

4



​CREATE​​ ​​TABLE​​ ​​STUDENT(ID NUMBER ​​​​PRIMARY​​ ​​KEY​​​​,​

​NAME​​ ​​VARCHAR​​​​(200) ​​​​NOT​​ ​​NULL​​​​,​

​SEX ​​​​VARCHAR​​​​(200),​

​CREATE_DATE ​​​​DATE​​​​);​


指定表名注释


1



​COMMENT ​​​​ON​​ ​​TABLE​​ ​​STUDENT ​​​​IS​​ ​​'学生表'​​​​;​


指定列注释


1

2

3

4



​COMMENT ​​​​ON​​ ​​COLUMN​​ ​​STUDENT.ID ​​​​IS​​ ​​'学生ID'​​​​;​

​COMMENT ​​​​ON​​ ​​COLUMN​​ ​​STUDENT.​​​​NAME​​ ​​IS​​ ​​'学生姓名'​​​​;​

​COMMENT ​​​​ON​​ ​​COLUMN​​ ​​STUDENT.SEX ​​​​IS​​ ​​'学生性别'​​​​;​

​COMMENT ​​​​ON​​ ​​COLUMN​​ ​​STUDENT.CREATE_DATE ​​​​IS​​ ​​'创建日期'​​​​;​


创建序列


1

2

3

4

5

6



​CREATE​​ ​​SEQUENCE​​ ​​student_seq​

​INCREMENT ​​​​BY​​ ​​1 ​​​​-- 每次增加1个​

​START ​​​​WITH​​ ​​1 ​​​​--从1开始计数​

​NOMAXVALUE ​​​​-- 不设置最大值​

​NOCYCLE ​​​​--直累加,不循环​

​NOCACHE ​​​​--不建立缓冲区​


创建触发器


1

2

3

4

5

6



​CREATE​​ ​​OR​​ ​​REPLACE​​ ​​TRIGGER​​ ​​STUDENT_TRG​

​BEFORE ​​​​INSERT​​ ​​ON​​ ​​STUDENT​

​FOR​​ ​​EACH ROW ​​​​-- WHEN (new.ID is null) 设置主键存在时,不触发触发器​

​BEGIN​

​SELECT​​ ​​STUDENT_SEQ.NEXTVAL ​​​​INTO​​ ​​:NEW.ID ​​​​FROM​​ ​​DUAL;​

​END​​​​;​