select * from user_objects where object_type='TABLE';
--删除contact表,包括删除与其相关的约束
drop table contact cascade constraints
--创建contact表
create table contact(
id number(6) not null primary key
,first_name varchar2(20) not null
,last_name varchar2(20) not null
,birth_date Date
--,constraint pk_contact primary key(id) --指定主主键
);
drop sequence contact_seq;
--创建表contact的自增序列
create sequence contact_seq
start with 1
increment by 1
nomaxvalue
nocycle
nocache
drop trigger contact_trigger
--创建表contact自增序列的触发器
create or replace trigger contact_trigger
before insert on contact
for each row
begin
select contact_seq.nextval into:new.id from sys.dual;
end;
insert into contact(first_name,last_name,birth_date) values('Clarence','Ho',to_date('1980-07-30','yyyy-mm-dd'));
insert into contact(first_name,last_name,birth_date) values('Scott','Tiger',to_date('1990-11-02','yyyy-mm-dd'));
insert into contact(first_name,last_name,birth_date) values('John','Smith',to_date('1964-02-28','yyyy-mm-dd'));
--删除contact_tel表
drop table contact_tel cascade constraints;
--创建contact_tel表
create table contact_tel(
id number(6) not null primary key
,contact_id number(6) not null
--,contact_id number not null references contact(id)
,tel_type varchar2(20) not null
,tel_number varchar2(20) not null
--,constraint pk_contact_tel primary key(id) --主键
,constraint fk_contact_tel foreign key(contact_id) references contact(id) --外键
);
drop sequence contact_tel_seq;
--创建表contact_tel的自增序列
create sequence contact_tel_seq
increment by 1
start with 1
nomaxvalue
nocycle
nocache
drop trigger contact_tel_trigger
--创建表contact_tel自增序列的触发器
create or replace trigger contact_tel_trigger
before insert on contact_tel
for each row
begin
select contact_tel_seq.nextval into:new.id from dual;
end;
insert into contact_tel(contact_id,tel_type,tel_number) values (1,'Mobile','1234567890');
insert into contact_tel(contact_id,tel_type,tel_number) values (1,'Home','2234567890');
insert into contact_tel(contact_id,tel_type,tel_number) values (2,'Home','3234567890');
--以下测试主从表的外键约束是否生效
insert into contact_tel(contact_id,tel_type,tel_number) values (4,'Home','4234567890');
select * from contact;
select * from contact_tel;
分享到:
相关推荐
简单的建表联系,包括主键外键,帮助新手快速熟悉建表的语句操作
oracle设置主外键即主键序列自动增长
本工具是生成oracle数据库建表语句的sql工具,利用excel实现,需要开启宏
对你绝对有帮助,oracle建表 序列 有例子
oracle建表空间建用户
activity-oracle建表SQLactivity-oracle建表SQLactivity-oracle建表SQL
Oracle建表语句Oracle建表语句
oracle向mysql建表语句的迁移。 直接表结构的生成sql脚本
通过xlrd读取excel生成oracle的建表语句
oracle建表授权oracle建表授权oracle建表授权
oracle建表创建代码表名用户权限以及类容。
oracle 增加序列 触发器 全过程 sql文件只需更换表名
oracle建表语句,怎么建表空间,表空间的用户名密码。整理自己查看的。
完整性展示:DEMO提供了从基础建表到复杂约束(如外键、自增主键)等实际生产场景所需的完整SQL语句。 学习价值:对于初学者或者对Oracle数据库不熟悉的开发者来说,这是一个很好的实践教程,可以直接参照执行并...
oracle批量生成表和触发器和序列
oracle insert数据成功之后调用触发器,触发器调用存储过程,存储实时调用java http
oracle建表实例 sql语句 oracle建表实例 sql语句 oracle建表实例 sql语句
程序根据excel自动生成建表语句(创建表、主键)还根据主键的长度,自动创建序列、触发器。触发 器功能:自动根据序列生成表的主键内容。如果向此表中插入的主键为空,触发器根据序列生成主键 内容,如果向此表插入...
oracle查看主外键约束关系,根据此SQL可以进行主外键约束的查询!
这是我对Oracle建表语句中的经典部分进行的总结,希望对大家有帮助。