易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 存储过程中调用自定义的函数问题?

 我现在在做一个Oracle数据导入,要将EXCEL数据导入到Oracle数据库中,先读取数据,将数据保存在一张临时表中,然后导入之前对临时表中数据的每个字段做校验,比如数据是否为整数,整数的最大位数,及导入的数据在原数据库中是否已经存在等,我写了一个存储过程,对异常的数据,将字段“is_checked”设为异常信息。
     在对数字型数据做校验时,为了验证该字段是否为数字,或者为整数,我在Oracle中写了一个自定义的数字校验函数,并在存储过程中调用该函数,但是我发现第一次导入时,所有数据校验正常,但是当第二次点击导入的时候,存储过程就不能重新调用该函数,理所当然校验的数据也都是错误的,与第一次校验的结果大为不同,调试修改之后,发现必须重新编译这个校验函数才能正常的校验。这个问题就连现在的项目经理也解决不了了:)
    在这里想问大家,有什么办法可以在存储过程中调用该函数时只需编译一次?或者调用之前对该函数重新编译的方法,有做过类似项目的同仁帮忙解决一下啊:)
   呵呵 比较头疼的问题,也可能是我的校验函数出了问题,以下是我自己写的的Oracle数字校验函数,不知对否,望多多指教~~
CREATE OR REPLACE FUNCTION IS_POSITIVE_NUMERIC(MyStr VARCHAR2,intMax integer,decimalMax integer) RETURN NUMBER
IS
  /******************************************************************************
   PURPOSE:   判断输入的字符串是否为合法的正数
   REVISIONS:
   Ver        Date        Author           Description
   ---------  ----------  ---------------  ------------------------------------
   1.0        2008-11-17   lei.zhao     1. Created this procedure.
   输入参数:
             MyStr :要检验的字符串
             intMax:整数部分最大位数
    &


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

oracle tnsnames.ora配置小结

listener.ora、 tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,其中listener.ora是和数据库服务器端 相关,而tnsnames.ora和sqlnet.ora这2个文件不仅仅关系到服务器端,主要的还是和客户端关系紧密。
检查客户端oracle网络的时候可以先检查sqlnet.ora文件:
# SQLNET.ORA Network Configuration ......

如何将TXT,EXCEL或CSV数据导入ORACLE到对应表中

 方法一,使用SQL*Loader  
  这个是用的较多的方法,前提必须oracle数据中目的表已经存在。  
  大体步骤如下:  
  1   将excle文件另存为一个新文件比如文件名为text.txt,文件类型选文本文件(制表符分隔),这里选择类型为csv(逗号分隔)也行,但是在写后面的control. ......

Oracle PL/SQL入门之慨述

 一、PL/SQL出现的目的
  结构化查询语言(Structured Query
Language,简称SQL)是用来访问关系型数据库一种通用语言,它属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途
径,而是简单的调用相应语句来直接取得结果即可。显然,这种不关注任何实现细节的语言对于开发者来说有着极大的 ......

Oracle学习笔记摘录6


  declare
  begin
   --SQL语句
   --直接写的SQL语句(DML/TCL)
   --间接写execute immediate <DDL/DCL命令字符串>
   --select 语句
        <1>必须带有into子句
      &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号