`

oracle procedure总结

 
阅读更多
CREATE OR REPLACE PROCEDURE PROCEDURE_NAME(args1 in varchar2,...args2 out varchar2)
is
LVC_ERROR  VARCHAR2(4000);          -- 错误序号   自定义变量
BEGIN
...
EXCEPTION   
  WHEN OTHERS THEN  
    LVC_ERROR := SQLERRM;   
    ROLLBACK;   
    RAISE_APPLICATION_ERROR(2000, 'ERROR:' || LVC_ERROR);   
END PROCEDURE_NAME;

知识点 

变量赋值:

AVC_CODE := '2004';

每一句sql语句的结尾需要加上分号";"

日期比较用trunc 函数 select trunc(sysdate)-2 from dual

游标的使用:

变量声明

CUR_DRXX_LIST  OUT PKG_TYPES.REF_CURSOR     

 

赋值

 

OPEN CUR_DRXX_LIST FOR        
select ... from table

 空值

OPEN CUR_DRXX_LIST FOR     
       SELECT NULL nsrsbh,      
             NULL nsrmc,   
             NULL nsrSwjgDm   
        FROM DUAL;      
RETURN

 判断条件为空时,返回可直接用 return;

 当使用游标时, GOTO ONERROR;   

 

IF AVG_PCL_XH IS NULL THEN  
      AVC_CODE := '2004';   
      AVC_ERR_MESS := 'P_NSFW_XYDJ_MDDR_SAVE_HXCL.AVG_PCL_XH为空';   
      GOTO ONERROR;   
   END IF;  
。。。
 <<ONERROR>>      
   OPEN CUR_DRXX_LIST FOR     
       SELECT NULL nsrsbh,      
             NULL nsrmc,   
             NULL nsrSwjgDm   
        FROM DUAL;      
   RETURN;  

 

 

 

update语句可以使用普通的方法,也可以用下面这种

UPDATE NSFW_XYDJ_MDDR_LSB L   
   SET (NSRMC, NSR_SWJG_DM,DRJG) =   
    (SELECT NSRMC, NSR_SWJG_DM, 'Y' FROM CTAIS2.DJ_NSRXX C WHERE C.NSRSBH = L.nsrsbh)   
   where L.pcl_xh = AVG_PCL_XH;   

If的使用,类似VB的语法

if then
...
else
...
end if

  

 

分享到:
评论

相关推荐

    oracle procedure

    ### 总结 通过上述示例,可以看出即使Oracle存储过程不支持直接使用带有结果集的SELECT语句,我们仍然可以通过使用游标结合动态或静态SQL语句来实现这一功能。这些技术不仅解决了原始问题,还提供了更灵活的方式来...

    Oracle基础学习三过程PROCEDURE 和函数FUNCTION 的创建及用

    Oracle数据库是世界上最流行的关系型数据库管理系统之一,它提供了丰富的编程元素来实现复杂的业务逻辑,如过程(PROCEDURE)和函数(FUNCTION)。在本教程中,我们将深入探讨如何在Oracle中创建、调用以及删除这两...

    ORACLE 批量更新三种方式比较

    ### 总结 根据上述分析,我们可以得出以下结论: - **对于小规模数据更新**,推荐使用PL/SQL循环更新方式,虽然性能不是最优,但其实现简单且易于维护。 - **对于大规模数据更新**,建议使用单条SQL语句更新或采用...

    Oracle存储过程、函数和包

    总结来说,存储过程和函数在Oracle数据库中是非常强大的工具,它们不仅可以帮助开发者提高代码的复用性和维护性,还可以通过数据库级别的安全性控制来增强系统的安全性。同时,通过包的概念,可以更好地组织和管理一...

    修改后的oracle游标总结,比较的全面

    Oracle 游标总结,比较的全面 Oracle 游标是 PL/SQL 中的一种重要概念,用于查询数据库,获取记录集合(结果集)的指针。游标可以分为静态游标和动态游标两种。 静态游标 静态游标可以分为显示游标和隐式游标两种...

    oracle包用存储过程图分页

    ### 总结 通过以上步骤,我们成功地在Oracle数据库中创建了一个包含分页功能的包及其存储过程。这种方法不仅提高了数据库操作的性能,还增强了代码的可读性和可维护性。在实际应用中,可以根据具体需求调整分页逻辑...

    oracle存储过程总结.doc

    Oracle 存储过程总结 Oracle 存储过程是数据库系统中的一种重要组件,它可以将复杂的业务逻辑封装在一起,提高数据库系统的性能和可维护性。本篇文章将对 Oracle 存储过程进行总结,包括创建存储过程、变量、游标、...

    Oracle日常维护总结

    以下是对"Oracle日常维护总结"中提到的关键知识点的详细解释: 1. **网络连接检查**: - 使用`tnsping`命令来验证TNS(Transparent Network Substrate)服务是否正常工作,确保客户端能够正确连接到Oracle数据库...

    Java调用oracle存储过程总结

    本文将全面总结如何使用Java与Oracle存储过程进行交互。 首先,理解Oracle存储过程的基本概念。存储过程是预编译的SQL语句集合,存储在数据库中,可以接受参数、执行一系列操作并返回结果。它们提高了性能,减少了...

    ORACLE SQL 优化 存储过程 PROCEDURE

    ORACLE SQL 优化存储过程 PROCEDURE ORACLE SQL 优化存储过程 PROCEDURE 是一篇结合实际开发经验和理论知识的文章,旨在帮助开发者提高 SQL 开发效率和优化存储过程。文章涵盖了广泛的知识点,从基本的 SQL 语句到...

    Oracle 数据库语法总结

    这篇文档“Oracle数据库语法总结”旨在为用户提供一个全面的参考指南,帮助理解和掌握Oracle SQL的使用。 1. **数据定义语言(DDL)** - **创建表(CREATE TABLE)**:用于定义表的结构,包括字段名、数据类型、...

    ORACLE中CLOB字段转String类型

    #### 五、总结 在Oracle数据库中,将CLOB字段转换为字符串类型是常见需求之一。通过使用`DBMS_LOB`包、内置函数如`SUBSTR`以及`TO_CHAR`,可以有效地实现这一目标。此外,还需注意性能优化措施,例如分段读取和合理...

    oracle与SQL server的语法差异总结

    - Oracle中,创建存储过程的语法是 `CREATE OR REPLACE PROCEDURE 存储过程名(参数列表) IS...END 存储过程名;`,参数类型无需指定长度,且需明确IN、OUT标识。 - SQL Server中,使用 `CREATE PROCEDURE 存储过程...

    oracle入门总结

    以下是对Oracle入门知识的详细总结: 1. **创建用户** 在Oracle中,我们可以通过`CREATE USER`语句来创建新的数据库用户。例如: ``` CREATE USER user_name IDENTIFIED BY "password" DEFAULT TABLESPACE ...

    Oracle总结.docx

    Oracle总结 Oracle是一种关系型数据库管理系统,广泛应用于各种行业。下面是 Oracle 中的一些重要知识点总结: 1. 在 Oracle 中关于 CLOB 类型数据的插入: Oracle 中的 CLOB(Character Large OBject)类型是...

    oracle入门总结.pdf

    CREATE OR REPLACE PROCEDURE update_emp(v_empno IN VARCHAR2, v_ename IN VARCHAR2) IS BEGIN UPDATE emp SET ename = v_ename WHERE empno = v_empno; END update_emp; ``` 调用存储过程使用`EXEC`命令,如...

    oracle常用的算术符号总结

    ### Oracle常用的算术符号总结 #### 一、概述 Oracle是一种广泛使用的数据库管理系统,它提供了丰富的功能和工具来处理各种复杂的数据操作需求。对于初学者来说,了解Oracle中常用的算术符号是非常重要的基础之一...

    oracle入门总结.docx

    CREATE OR REPLACE PROCEDURE update_emp( v_empno IN VARCHAR2, v_ename IN VARCHAR2 ) IS BEGIN UPDATE EMP SET ENAME = v_ename WHERE EMPNO = v_empno; END update_emp; ``` 调用存储过程: ```sql EXEC ...

    存储过程(Stored Procedure)

    #### 总结 存储过程作为一种重要的数据库对象,在提高数据库应用性能、简化复杂逻辑处理、增强安全性等方面发挥着关键作用。通过对存储过程的合理设计和使用,可以显著提升数据库应用程序的质量和效率。

    在.NET中调用Oracle存储过程经验总结.doc

    ### 在.NET中调用Oracle存储过程经验总结 #### 一、引言 随着.NET平台的广泛应用,越来越多的应用程序选择.NET框架进行开发。与此同时,Oracle数据库因其高性能和稳定性被广泛采用。因此,在.NET环境中如何有效地...

Global site tag (gtag.js) - Google Analytics