`

area 数据库模式总结

 
阅读更多

drop table EMP cascade constraints;

/*==============================================================*/
/* Table: EMP                                                   */
/*==============================================================*/
create table EMP  (
   ID                   INTEGER                         not null,
   REALNAME             varchar2(50),
   LOGINNAME            varchar2(50),
   DEPTID               integer                         not null,
   constraint PK_EMP primary key (ID)
);

comment on table EMP is
'员工';

comment on column EMP.ID is
'主键编号';

comment on column EMP.REALNAME is
'真实名';

comment on column EMP.LOGINNAME is
'登录名';

comment on column EMP.DEPTID is
'所属部门';

 

drop table DEPT cascade constraints;

/*==============================================================*/
/* Table: DEPT                                                  */
/*==============================================================*/
create table DEPT  (
   DEPTID               integer                         not null,
   DEPTNAME             varchar2(50)                    not null,
   constraint PK_DEPT primary key (DEPTID)
);

comment on table DEPT is
'部门';

comment on column DEPT.DEPTID is
'部门主键';

comment on column DEPT.DEPTNAME is
'部门名';


 

 

 

--创建视图

 

select * from emp;
select * from dept;

create or replace view emp_v
as
select e.id,e.realname,e.loginname,e.deptid,t.deptname from emp e,dept t where e.deptid=t.deptid;

create or replace view dept_v
as
select * from dept;

 

--创建序列

 

 

drop SEQUENCE emp_seq;
drop SEQUENCE dept_seq;
CREATE  SEQUENCE emp_seq 
     INCREMENT BY 1   -- 每次加几个 
     START WITH 10000     -- 从1开始计数 
     NOMAXVALUE       -- 不设置最大值 
     NOCYCLE          -- 一直累加,不循环 
     CACHE 10; 
CREATE SEQUENCE dept_seq 
     INCREMENT BY 1   -- 每次加几个 
     START WITH 10000     -- 从1开始计数 
     NOMAXVALUE       -- 不设置最大值 
     NOCYCLE          -- 一直累加,不循环 
     CACHE 10; 


select emp_seq.nextval from dual;
select dept_seq.nextval from dual;

 

--创建触发器
create or replace trigger emp_v_t
  INSTEAD OF INSERT or update or delete  ON emp_v FOR EACH ROW
begin
  if inserting then
    insert into emp(id,realname,loginname,deptid) values(emp_seq.nextval,:new.realname,:new.loginname,:new.deptid);
  end if;
  if updating then
    update emp set realname=:new.realname,loginname=:new.loginname,deptid=:new.deptid where id=:old.id;
  end if;
  if deleting then
     delete emp where id=:old.id;
  end if;
end;

create or replace trigger dept_v_t
  INSTEAD OF INSERT or update or delete  ON dept_v FOR EACH ROW
begin
  if inserting then
    insert into dept(deptid,deptname) values(dept_seq.nextval,:new.deptname);
  end if;
  if updating then
    update dept set deptname=:new.deptname where deptid=:old.deptid;
  end if;
  if deleting then
     delete dept where deptid=:old.deptid;
  end if;
end;

 

--测试数据

 

insert into dept_v(DEPTNAME) values('软件部')
update dept_v set deptname='软件部' where deptid=10001
insert into emp_v(realname,loginname,deptid) values('胡博维','hubowei',10001)

 


select * from emp;  
select * from emp_v;    

select * from dept;  
select * from dept_v;    

 

 

  

 

 

Select user_name,sql_text from V$open_cursor where user_name='weidu';

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    VFP与远程数据库的连接.pdf

    - **Area**:在数据库中表示一个区域,可能是一个表或者视图。 - **Size**:可能指的是数据库表中的字段大小。 - **Level**:可能表示数据的等级或层级。 - **Operator**:执行数据库操作的用户账户,包含操作权限等...

    Oracle Database 12c 数据库100个新特性与案例总结V2.0

    根据提供的文档信息,我们可以深入探讨Oracle Database 12c中的一些关键新特性和案例总结。以下是对部分提及的新特性的详细解析: ### 1. Oracle Pluggable Database #### 1.1 可插拔数据库概述 - **定义**:在...

    大牛总结Oracle数据库日常维护知识COOK BOOK

    这份"大牛总结Oracle数据库日常维护知识COOK BOOK"涵盖了关于Oracle数据库日常管理的诸多关键知识点,旨在帮助DBA(数据库管理员)和IT专业人员更高效地管理和优化数据库系统。 1. **数据库启动与关闭**: - **...

    深刻理解Oracle数据库的启动和关闭

    Oracle数据库作为企业级应用的重要组成部分,在启动与关闭方面提供了多种模式以适应不同的应用场景需求。本文旨在详细阐述Oracle数据库在启动与关闭过程中涉及的不同方式及其特点。 #### 数据库启动方式 1. **...

    深入解析 ORACLE 数据库的初始化pdf

    此外,备份与恢复策略、归档日志模式、表空间和数据文件的管理等都是数据库初始化过程中需要考虑的因素。 本书可能还涵盖了高级主题,比如 RAC(Real Application Clusters)集群环境下的数据库初始化,以及闪回...

    Unix和Linux下的Oracle数据库管

    总结来说,Unix和Linux下的Oracle数据库管理涉及多方面,包括安装配置、性能调优、备份恢复、故障排查和安全管理。熟悉这些知识点,对于数据库管理员来说至关重要,能确保数据库系统的稳定高效运行。

    windows下手动创建数据库.doc

    #### 三、总结 通过手动创建 Oracle 10g 数据库,不仅可以加深对数据库内部结构的理解,还能提高数据库管理技能。尽管过程较为复杂,但对于成为一名合格的 Oracle DBA 来说,这项技能是必不可少的。希望本指南能...

    不同数据库的嵌入SQL讲解

    总结来说,嵌入式 SQL 允许程序员在各种数据库管理系统(如 Informix、DB2、Sybase、Oracle、SQL Server)中集成 SQL 语句,实现高效的数据操作。理解并熟练运用 E-SQL 能帮助开发者编写出更高效、更灵活的数据库...

    oracle数据库.ppt

    启动数据库通常通过SVRMGRL命令行工具,先以内部模式连接,然后执行STARTUP命令。关闭数据库使用SHUTDOWN命令。不正确地删除数据文件可能导致数据库无法启动,此时需要通过重新挂载表空间或调整控制文件来恢复一致性...

    笔试数据库2.doc

    数据库基础知识点总结 本文将对数据库基础知识点进行总结,涵盖了数据库备份、Access 和 SQL Server 的区别、SQL 调优、索引、排序相关内存调整、表、段、区、块之间的关系、表空间和数据文件之间的关系、本地管理...

    3-oracle启动与关闭,数据库备份

    总结来说,Oracle数据库的启动和关闭需要根据具体需求选择合适的方式,而备份与恢复策略则应结合业务连续性和数据安全性来制定。通过编写shell脚本和配置crontab,可以实现备份的自动化,确保数据的安全和高效管理。

    远程连接数据库的设置步骤

    - 在“安全性”选项卡中,选择“SQL Server和Windows身份验证模式”,并保存更改。 ##### 2. 设置账号权限 - 在“对象资源管理器”下找到“安全性”->“登录名”->“sa”。 - 双击“sa”,在“常规”选项卡中设置...

    Oracle数据库操作大全

    ### Oracle数据库操作大全知识点概述 #### 一、数据库的创建 ...以上是对《Oracle数据库操作大全》文档的部分内容的详细总结和解释,涵盖了数据库创建、基本操作以及如何解决常见的RDBMS问题等方面的知识点。

    Oracle数据库性能调整与优化研究.pdf

    选择合适的运行模式对于SQL执行效率至关重要,从而影响数据库的整体处理能力。 2.3 服务器CPU性能:作为数据库运行的基础,CPU性能直接影响Oracle数据库的响应速度和处理能力。强大的CPU能支持更复杂的查询和计算...

    Oracle数据库性能调优的研究.pdf

    以下是对Oracle数据库性能影响因素及性能调优方法的知识点总结。 1. Oracle数据库性能影响因素 硬件因素: CPU:作为数据库服务器的核心部件,CPU的处理能力直接影响数据库的运算速度和并发处理能力。在多用户...

    大型ORACLE数据库优化设计方案.pdf

    本文主要从大型数据库ORACLE环境四个不同级别的调整分析入手,分析ORACLE的系统结构和工作机理,从九个不同方面较全面地总结了ORACLE数据库的优化调整方案。 一、数据库优化自由结构OFA(Optimal Flexible ...

    Windows Xp上手工创建数据库Oracle9i的完整步骤.doc

    - `sort_area_size`: 排序区大小。 - `undo_management`: UNDO管理方式。 - `undo_tablespace`: UNDO表空间名称。 3. **创建initmydb.ora文件** - 创建一个简单的文本文件 `initmydb.ora`,内容为 `ifile= c:\...

    ORACLE 数据库入门

    总结起来,Oracle数据库的入门涉及到其物理和内存结构的理解,实例、连接、事务的概念,后台进程的作用,以及SQL语句的执行流程。这些基础知识是管理和操作Oracle数据库的基础,对于数据库管理员和开发人员来说至关...

    三级联动的数据库脚本

    ### 三级联动的数据库脚本知识点解析 #### 一、标题理解:“三级联动的数据库脚本” - **三级联动**:通常指的...这种数据库设计方式不仅能够简化用户操作流程,还能提高系统的数据处理效率,是一种实用的设计模式。

Global site tag (gtag.js) - Google Analytics