oracle - 在oracle 11g中将数据从临时表加载到主表

标签 oracle

到目前为止,在 oracle 中将数据从临时表加载到主表的最有效方法是什么。

假设我的表格如下

TABLE Persons
(
Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
HouseNumber int,
)

下面是我的临时表

TABLE Persons_Staging
(
Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
HouseNumber varchar(255),
)

我想要实现的是,每天,来自临时表的新数据应该经过一些处理放入主表中。

例如,在将数据加载到名字/姓氏列之前,应该以某种方式将数据转换为大写/小写。或者可以更改日期列中的日期格式。 (加载到主表之前对数据进行一些基本转换)。

我应该为此使用程序吗?还是有其他我可以使用的工具?

最佳答案

我认为解决此类任务的最佳方法是触发器。

您可以为Persons_Staging创建触发器,它可以是这样的:

Create Or Replace Trigger Persons_Staging_Before_Insert
  Before Insert On Persons_Staging
  For Each Row

Declare
Begin
  Insert Into Persons
    (Id, Lastname, Firstname, Housenumber)
  Values
    (:New.Id,
     Upper(:New.Lastname),
     Upper(:New.Firstname),
     :New.Housenumber);
End;

希望对你有帮助

关于oracle - 在oracle 11g中将数据从临时表加载到主表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52668729/

相关文章:

数据库算法缩放

sql - 在不知道 Oracle 名称的情况下删除索引或约束

c# - Oracle ODP.NET 托管驱动程序在 64 位中的运行速度比在 32 位中慢 50-100%

oracle - 如何在 Flyway 中压缩/合并迁移

oracle - DML 和异常处理 - Oracle

sql - 仅当其他表中某个字段的值数满足条件时才更新表中的列

oracle - Oracle RAW 列的 Hibernate 映射

sql - Oracle sql : get only specific part of a substring

java - 如何查找应用程序的数据库往返次数

oracle - 云信息 AWS : Connect RDS to subnets