oracle表数据实例,Oracle创建数据表实例

Oracle创建数据表实例。

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');

总结

以上是编程之家为你收集整理的Oracle创建数据表实例全部内容,希望文章能够帮你解决Oracle创建数据表实例所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值