【发布时间】:2017-07-31 17:59:26
【问题描述】:
我使用以下 sql 代码在从其他表派生后将数据插入到表中。我不是高级 PL/SQL 方面的专家。我想构建一个存储过程,以实现与此 SQL 代码相同的功能。这个想法是我将只执行该过程,它将加载数据而不是一次又一次地运行此代码。我尝试了一些示例,但都在编译时出错,并且大多数示例都是 SQL server 格式。
Insert into TABLE(ID,NBR,VALUE,DESCRIPTION,STATUS,FILLER,SOURCE_SYSTEM,DATE_LOADED_TIMESTAMP)
SELECT SUBSTR(COLUMN1,1,2) as ID,
SUBSTR(COLUMN1,3,3) as NBR,
SUBSTR(COLUMN1,6,14) as VAUE,
SUBSTR(COLUMN1,20,30) as DESCRIPTION,
SUBSTR(COLUMN1,50,1) as STATUS,
SUBSTR(COLUMN1,51,2) as FILLER,
SOURCE_SYSTEM as SOURCE_SYSTEM,
CURRENT_TIMESTAMP AS DATE_LOADED_TIMESTAMP
from TMP_TABLE;
【问题讨论】:
-
所以把上面的
insert语句放到一个过程中。什么不工作? -
@WilliamRobertson 我只是在错误的语法中运行,不知道这么简单。只是想知道我是否可以在插入之前编写额外的行来截断表格?
标签: database oracle plsql oracle12c