首页 > 数据库 >Oracle DB 数据准备

Oracle DB 数据准备

时间:2024-07-24 16:50:54浏览次数:9  
标签:end DEP create DB number EMP 准备 Oracle deptno

Create Table

create table DEP (  
  deptno        number,  
  dname        varchar2(50) not null,  
  location      varchar2(50),  
  constraint pk_departments primary key (deptno)  
);
create table EMP (  
  empno             number,  
  ename              varchar2(50) not null,  
  job               varchar2(50),  
  manager           number,  
  hiredate          date,  
  salary            number(7,2),  
  commission        number(7,2),  
  deptno           number,  
  constraint pk_employees primary key (empno),  
  constraint fk_employees_deptno foreign key (deptno) 
      references DEP (deptno)  
);

Create / Replace the Trigger

方法一:

# 从一开始,创建一个序列
CREATE SEQUENCE zero_based_seq
START WITH 1
INCREMENT BY 1;

#创建一个触发器,每增加一行新数据,primary key 加1
create or replace trigger  DEP_BIU
    before insert or update on DEP
    for each row
begin
    SELECT zero_based_seq.NEXTVAL INTO : NEW.deptno FROM DUAL;
end;

create or replace trigger  EMP_BIU
    before insert or update on EMP
    for each row
begin
    SELECT zero_based_seq.NEXTVAL INTO : NEW.empno FROM DUAL;
end;

方法二:

create or replace trigger  DEP_BIU
    before insert or update on DEP
    for each row
begin
    if inserting and :new.deptno is null then
        :new.deptno := to_number(sys_guid(), 
          'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
    end if;
end;
/

create or replace trigger EMP_BIU
    before insert or update on EMP
    for each row
begin
    if inserting and :new.empno is null then
        :new.empno := to_number(sys_guid(), 
            'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
    end if;
end;

标签:end,DEP,create,DB,number,EMP,准备,Oracle,deptno
From: https://www.cnblogs.com/rinya09/p/18321249

相关文章

  • PART1-Oracle关系数据结构-索引和索引组织表
    3.索引组织表3.1.索引概述索引是与表或表簇关联的可选结构,有时可以加快数据访问速度。通过在表的一个或多个列上创建索引,在某些情况下,您可以从表中检索一小部分随机分布的行。索引是减少磁盘I/O的众多方法之一。如果堆组织表没有索引,那么数据库必须执行全表扫描才能找到一个......
  • 【YashanDB知识库】stmt未close,导致YAS-00103 no free block in sql main pool part 0
    问题现象问题单:YAS-00103nofreeblockinsqlmainpoolpart0,YAS-00105outofmemorytoallocatehashtableofsize=256现象:业务处理sql时,报错YAS-00103nofreeblockinsqlmainpoolpart0问题风险及影响业务处理报错,影响功能使用问题影响版本客户版本:22.2.4......
  • Jenkins下配置java的静态代码检测:findbugs、pmd及checkstyle实现代码自动检测
    一、插件介绍工具目的检查项FindBugs检查.class基于BugPatterns概念,查找javabytecode(.class文件)中的潜在bug主要检查bytecode中的bugpatterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等Duplicatecode帮助开......
  • 【YashanDB知识库】filter or改写问题
    问题现象当filter中出现or的时候,会导致filter无法走索引或者走hashjoin,就需要进行改写,例如:createtabletest_tab1(col1int,col2int,col3int);createtabletest_tab2(col4int,col5int,col6int);beginforiin1..10000loopinsertintotest_tab1values(i......
  • Zabbix监控TiDB数据库教程
    作者乐维社区(forum.lwops.cn)许远1 概述TiDB数据库是一个常见的开源分布式关系型数据库,通过使用分布式事务、分布式SQL引擎和分布式存储引擎来实现高可用性和横向扩展性。而Docker则是一个开源的容器化平台,它可以帮助开发者在不同的环境中轻松地部署和运行应用程序。本文......
  • Jmeter取样器--- JDBC request
    以mysql为例1、将访问mysql的jdbc的jar包放入jmeter\lib\ext目录下,如E:\JMeter\apache-jmeter-5.6.3\lib\ext,重新启动jmeter。驱动下载地址:MySQL::DownloadMySQLConnector/J(ArchivedVersions)2、添加配置元件“JDBCConnectionConfiguration”,如图所示3、JDBCConne......
  • PyCharm 中的 ndb Google Cloud Datastore 的类型提示丢失
    ndbModel类的实例对象没有类型提示。例如some_datetime不显示任何类型提示。类型提示在其他地方起作用。我是否需要安装专门用于类型提示的东西才能与ndb库一起使用?fromgoogle.cloudimportndbclassMyModel(ndb.Model):some_datet......
  • oracle大表性能优化
    1不修改表结构的优化1.1收缩表,降低高水位线ALTERTABLETESTENABLEROWMOVEMENT;ALTERTABLETESTSHRINKSPACE;1.2对表收集统计信息BEGINDBMS_STATS.GATHER_TABLE_STATS(ownname=>user,tabname=>'TEST');END;1.3使用oracle的并行查询功......
  • 喜报!钛铂数据 TapDB 通过中国信通院文档数据库产品测试
    在中国信通院组织的2024上半年“可信数据库”—文档数据库基础能力测试中,深圳钛铂数据有限公司(以下简称“钛铂数据”)旗下的钛铂分布式文档数据库(TapDB)顺利通过了所有测试项目,测试结果表明,该产品在文档数据库基本功能、高可用能力、安全能力、兼容能力、分布式能力和管理能力方面符......
  • 配置文件mybatis-plus: global-config: db-config: table-prefix: true
    具体来说,table-underline的含义是:当table-underline设置为true时:假设你有一个实体类名为UserInfo,那么MyBatis-Plus会默认去数据库中寻找名为user_info的表(即,驼峰命名法自动转换为下划线命名法)。同理,如果你的数据库表名是user_info,但你的实体类名是UserInfo,那么M......