zoukankan      html  css  js  c++  java
  • oracle存储过程常用技巧

    1.存储过程结构
    1.1 第一个存储过程

    create or replace procedure proc1(
    p_para1 varchar2,
    p_para2 out varchar2,
    p_para3 in out varchar2
    )as
    v_name varchar2(20);
    begin
    v_name := '张三丰';
    p_para3 := v_name;
    dbms_output.put_line('p_para3:'||p_para3);
    end;

    上面就是一个最简单的存储过程。一个存储过程大体分为这么几个部分:
    创建语句:create or replace procedure 存储过程名
    如果没有or replace语句,则仅仅是新建一个存储过程。如果系统存在该存储过程,则会报错。Create or replace procedure 如果系统中没有此存储过程就新建一个,如果系统中有此存储过程则把原来删除掉,重新创建一个存储过程。
    存储过程名定义:包括存储过程名和参数列表。参数名和参数类型。参数名不能重复, 参数传递方式:IN, OUT, IN OUT
    IN 表示输入参数,按值传递方式。
    OUT 表示输出参数,可以理解为按引用传递方式。可以作为存储过程的输出结果,供外部调用者使用。
    IN OUT 即可作输入参数,也可作输出参数。
    参数的数据类型只需要指明类型名即可,不需要指定宽度。
    参数的宽度由外部调用者决定。
    过程可以有参数,也可以没有参数
    变量声明块:紧跟着的as (is )关键字,可以理解为pl/sql的declare关键字,用于声明变量。
    变量声明块用于声明该存储过程需要用到的变量,它的作用域为该存储过程。另外这里声明的变量必须指定宽度。遵循PL/SQL的变量声明规范。
    过程语句块:从begin 关键字开始为过程的语句块。存储过程的具体逻辑在这里来实现。
    异常处理块:关键字为exception ,为处理语句产生的异常。该部分为可选
    结束块:由end关键字结果。

  • 相关阅读:
    MFC线程(二):线程同步临界区CRITICAL SECTION
    自定义消息
    Visual C++线程同步技术剖析:临界区,时间,信号量,互斥量
    //解析数据函数指针,很爽
    CListCtrl使用方法汇总
    进度条的使用 Progress控件
    CListBOX 用法
    文件操作总结
    CString 十六进制转二进制
    Numpy常用数据结构、数据清洗函数、数据结构series和方法、数据结构dataframe和方法
  • 原文地址:https://www.cnblogs.com/xwb583312435/p/9056675.html
Copyright © 2011-2022 走看看