到目前为止,在 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/