CREATE OR REPLACE PROCEDURE PRC_LOG_WRT
(v_txdate IN VARCHAR2,
v_dealprc IN VARCHAR2,
v_stepnum IN NUMBER,
v_sql IN VARCHAR2,
v_errmsg IN VARCHAR2,
v_rcount IN NUMBER
) AS
----------------------------------------------------------------------------------------
-- 名 称:日志记录存储过程
-- 功能说明:记录日志
-- 源表信息:
-- 目 标 表:ETL_BI_LOG
-- 创建信息:
-- 修改项1 :
-- 修改项2 :
----------------------------------------------------------------------------------------
BEGIN
--INSERT INTO PETL.ETL_BI_LOG VALUES(v_txdate,v_dealprc,v_stepnum,REGEXP_REPLACE(v_sql,'[ ]{1,}',' '),v_errmsg,to_char(SYSDATE, 'YYYYMMDD HH24:MI:SS'),v_rcount);
INSERT INTO ETL_BI_LOG VALUES(v_txdate,v_dealprc,v_stepnum,v_sql, v_errmsg,to_char(SYSDATE, 'YYYYMMDD HH24:MI:SS'),v_rcount);
COMMIT;
END;
-- Create table
create table ETL_BI_LOG
(
DEAL_DATE VARCHAR2(8),
PRC_NAME VARCHAR2(50),
JOB_STEP INTEGER,
SQLSTR CLOB,
ERR_MSG VARCHAR2(1024),
RUN_TIME VARCHAR2(30),
ROW_COUNT INTEGER
)
tablespace TS_RWD_DATA
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
next 10M
minextents 1
maxextents unlimited
);
-- Add comments to the table
comment on table ETL_BI_LOG
is '作业运行分步记录';
-- Add comments to the columns
comment on column ETL_BI_LOG.DEAL_DATE
is '统计日期';
comment on column ETL_BI_LOG.PRC_NAME
is '过程名称';
comment on column ETL_BI_LOG.JOB_STEP
is '操作步骤';
comment on column ETL_BI_LOG.SQLSTR
is 'SQL语句';
comment on column ETL_BI_LOG.ERR_MSG
is '错误信息';
comment on column ETL_BI_LOG.RUN_TIME
is '运行时间';
comment on column ETL_BI_LOG.ROW_COUNT
is '操作记录数';
-- Create/Recreate indexes
create index I_DATE_BI_LOG on ETL_BI_LOG (DEAL_DATE, PRC_NAME)
tablespace TS_RWD_DATA
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 10M
minextents 1
maxextents unlimited
);
create index I_DATE_BI_LOG_RUN on ETL_BI_LOG (RUN_TIME)
tablespace TS_CHN_IDX
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 10M
minextents 1
maxextents unlimited
);
分享到:
相关推荐
存储过程是预编译的SQL和PL/SQL语句集合,它们存储在数据库中并可以被调用执行。通过存储过程,我们可以封装复杂的业务逻辑,提高代码复用性和执行效率。 在Oracle中,访问接口通常需要使用UTL_HTTP或者DBMS_HTTP包...
存储过程是由一系列SQL语句和过程化SQL语句(如循环、条件判断等)组成的单元,它们被编译并保存在数据库中。当存储过程被调用时,整个过程将作为一个整体被执行,这可以极大地提高执行效率,并简化应用程序的设计。...
3. **别名与字段名冲突**: 在存储过程中,定义的别名不能与字段名相同,即使编译通过,在运行时也会出现错误。 4. **处理NULL值**: 存储过程中需要特别注意对NULL值的处理,避免出现意外的结果。 #### 八、Java调用...
Oracle存储过程作为一种强大的数据库编程工具,在企业级应用中被广泛采用。为了确保存储过程的质量、可读性和可维护性,制定一套合理的编码规范至关重要。本文将详细介绍Oracle存储过程最基本的开发规范,特别适合...
存储过程中可以抛出异常,以便处理错误。异常的抛出格式为: RAISE 异常名; 例如: RAISE NO_DATA_FOUND; 存储过程的执行 存储过程的执行可以使用 EXECUTE 语句: EXECUTE 存储过程名(参数1,参数2,...); ...
3. **存储过程中的别名与字段冲突**:存储过程中,字段别名不能与字段名称完全相同,尽管编译阶段可能不会报错,但在运行时会引发错误。 4. **处理NULL值**:存储过程中需特别注意NULL值的处理,避免逻辑错误或异常...
以下将详细介绍如何在Oracle环境中调试存储过程,包括调试的基本步骤、常用调试工具的使用,以及如何利用Oracle提供的调试特性来定位和解决代码中的错误。 ### Oracle存储过程调试方法 #### 1. 使用PL/SQL ...
以下是对如何在VB中调用Oracle存储过程的深入解析,包括代码示例、参数传递、错误处理以及存储过程的创建。 ### 一、调用Oracle存储过程 在Visual Basic中,通过ADO (ActiveX Data Objects) 库可以实现对Oracle...
在Java示例中,我们还看到了如何为大数据量插入创建Oracle对象类型和数组类型,以及相应的存储过程。这种方式允许我们在单次调用中插入大量记录,显著提高了效率。在处理大量数据时,批量操作比逐条操作更高效,因为...
在 Delphi 中调用 Oracle 存储过程是数据库应用程序开发中的常见操作,特别是在报表解决方案中。Oracle 存储过程能够封装复杂的 SQL 语句和业务逻辑,提高代码的可维护性和执行效率。以下是如何在 Delphi 中使用 ...
Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写包含一系列SQL语句和PL/SQL块的可重用代码段。在这个“Oracle的一个简单存储过程实例”中,我们可以看到如何在Oracle环境中创建、调用和管理存储...
Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许开发者编写一系列复杂的SQL和PL/SQL语句,形成可重用的代码块。这些代码块可以执行数据处理、事务控制、错误处理等多种任务,极大地提高了数据库应用...
Oracle存储过程是数据库管理系统Oracle中的一种重要特性,它允许开发者编写包含了一系列SQL和PL/SQL语句的程序单元,用于执行特定的任务。在数据库管理、数据处理和业务逻辑实现方面,存储过程扮演着不可或缺的角色...
Oracle PL/SQL存储过程是Oracle数据库中的一种重要编程机制,用于封装复杂的数据库操作逻辑,提高数据库性能,并且便于代码管理和重用。以下是对Oracle存储过程的详细解释。 **Oracle存储过程基础知识** Oracle存储...
在Oracle中,存储过程是一个重要的数据库对象,用于提升应用程序的性能和简化复杂的数据库操作。 - **优点**: - **提高执行效率**:存储过程仅在创建时编译一次,后续调用无需再次编译,提高了执行速度。 - **...
综上所述,Oracle存储过程是Oracle数据库中一项非常强大的功能,它不仅可以帮助开发者编写更加复杂和高效的数据库逻辑,还可以有效提高系统的整体性能。理解并熟练掌握其基本语法及注意事项是非常重要的。
在本案例中,"DOA访问Oracle存储过程.rar_DOA_oracle_存储过程"是一个压缩包,其中包含了关于如何使用DOA来调用Oracle数据库中的存储过程的相关资料。以下是关于DOA和Oracle存储过程的详细知识: 1. **DOA模式**:...