Oracle创建数据表实例
2017-10-08 11:25
513 查看
Oracle创建数据表实例。
1、创建数据表
2、创建约束
3、创建索引
创建一个行级触发器,该触发器在STUDENT_INFO(学生信息)表插入数据时被触发,并且在该触发器的主体中实现设置STUDENT_INFO(学生信息)表STU_ID列的值。
5、测试
1、创建数据表
--判断数据表是否存在,存在则删除 DECLARE IS_EXIST NUMBER; BEGIN SELECT COUNT(*) INTO IS_EXIST FROM ALL_TABLES WHERE TABLE_NAME = 'STUDENT_INFO'; IF IS_EXIST = 1 THEN --删除表以及所有引用这个表的视图、约束或触发器等 EXECUTE IMMEDIATE 'DROP TABLE STUDENT_INFO CASCADE CONSTRAINTS'; END IF; END; --创建“学生信息”数据表 CREATE TABLE STUDENT_INFO ( STU_ID INT, --学号 STU_NAME VARCHAR2(8), --姓名 EMAIL VARCHAR2(20), --邮箱 SEX CHAR(2), --性别 AGE INT, --年龄 CLASS_ID VARCHAR2(20), --班级编号 REGDATE DATE DEFAULT SYSDATE --创建期间 );
2、创建约束
--创建学号的主键约束 ALTER TABLE STUDENT_INFO ADD CONSTRAINT STU_PK PRIMARY KEY(STU_ID); --创建姓名的非空约束 ALTER TABLE STUDENT_INFO MODIFY STU_NAME NOT NULL; --创建邮箱的唯一性约束 ALTER TABLE STUDENT_INFO ADD CONSTRAINT EMAIL_UK UNIQUE(EMAIL); --创建性别的默认约束 ALTER TABLE STUDENT_INFO MODIFY SEX DEFAULT '女'; --创建年龄的检查约束 ALTER TABLE STUDENT_INFO ADD CONSTRAINT AGE_CK CHECK(AGE>0 AND AGE<120);或者在创建表的同时设置约束
--创建“学生信息”数据表 CREATE TABLE STUDENT_INFO ( STU_ID INT PRIMARY KEY, --学号,并设置主键约束 STU_NAME VARCHAR2(8)NOT NULL, --姓名,并设置非空约束 EMAIL VARCHAR2(20)CONSTRAINT EMAIL_UK UNIQUE, --邮箱,并设置唯一性约束 SEX CHAR(2)DEFAULT '女', --性别,并设置默认约束 AGE INT CONSTRAINT AGE_CK CHECK(AGE>0 AND AGE<120), --年龄,并设置检查约束 CLASS_ID VARCHAR2(20), --班级编号 REGDATE DATE DEFAULT SYSDATE --创建期间 );
3、创建索引
--创建班级编号索引 CREATE INDEX STUDENT_INDEX ON STUDENT_INFO(CLASS_ID);4、创建序列
--创建序列 CREATE SEQUENCE STU_SEQ START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999
创建一个行级触发器,该触发器在STUDENT_INFO(学生信息)表插入数据时被触发,并且在该触发器的主体中实现设置STUDENT_INFO(学生信息)表STU_ID列的值。
CREATE OR REPLACE TRIGGER TRI_INSERT_STU BEFORE INSERT ON STUDENT_INFO --关于STUDENT_INFO数据表的STU_ID,在插入STU_ID列之前,引起该触发器的运行 FOR EACH ROW --创建行级触发器 BEGIN SELECT STU_SEQ.NEXTVAL INTO :NEW.STU_ID FROM DUAL; --从序列中生成一个新的数值,赋值给当前插入行的STU_ID列 END;
5、测试
--测试 INSERT INTO STUDENT_INFO(STU_NAME,EMAIL,AGE,CLASS_ID) VALUES('张三','zhangsan@qq.com',18,'1001');
相关文章推荐
- oracle10G 数据库名、实例名、ORACLE_SID 及创建数据库- hl3292转载修改
- Oracle Java Cloud系列(02)——创建Java云的应用服务器实例 及 数据库云实例
- 数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工创建数据库
- oracle dba 手动创建数据实例
- oracle 下创建数据实例
- 数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库详解
- oracle10G 数据库名、实例名、ORACLE_SID 及创建数据库- hl3292转载修改(实践部分待校验)
- oracle 创建实例和监听服务
- Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- 【SQL】oracle 一条语句更新两行,decode函数交换两行数据,实例教程
- Oracle创建表空间,并导入数据
- oracle10G 数据库名、实例名、ORACLE_SID
- oracle 10g中的几个概念(表空间,数据库名,实例名)
- Oracle DBA之手动地通过命令行的方式创建一个数据库
- 通过数据链接(Database Link),从Oracle 10g 连接 SQL Server 2000(实例)
- Oracle 同名字段的该行数据按照创建时间最新的隐藏其他
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- [转] Oracle学习之创建数据库(新建实例)
- oracle创建用户导入 导出数据
- Oracle创建数据表空间,用户,授权,表,索引,簇