zoukankan      html  css  js  c++  java
  • Oracle Procedure记录

      1、定义

      所谓存储过程(Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过

      编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数

      来调用并执行它,从而完成一个或一系列的数据库操作。

      2、存储过程的创建

      Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。

      3. 使用存储过程的好处:

      1.简化复杂的操作

      2.增加数据的独立性

      3.提高安全性

      4.存储过程的语法

      CREATE [OR REPLACE] PROCEDURE procedure_name [in | out | in out datatype]

      IS|AS

      <声明部分>

      begin

      <执行部分>

      exception

      <异常部分>

      end;

      4.1无参数的存储过程:

      create or replace procedure p_test1 as

      begin

      for i in (select slbh,bdczh from dj_djb where slbh like '20170825%') loop

      dbms_output.enable(buffer_size=>null);

      dbms_output.put_line(i.slbh||','||i.bdczh);

      end loop;

      end;

      复制代码

      begin

      p_test1;

      end;

      4.2.有参的存储过程:

      4.2.1.参数名 IN 数据类型 DEFAULT 值;

      定义一个输入参数变量,用于传递参数给存储过程。在调用存储过程时,主程序的实际参数可以是常量、有值变量或表达式等。DEFAULT 关键字为可选项,用来设定参数的默认值。如果在调用存储过程时不指明参数,则参数变量取默认值。在存储过程中,输入变量接收主程序传递的值,但不能对其进行赋值。

      ege:

      create or replace procedure p_test2 (v_slbh in varchar2 default 201711010025 )

      as

      v_bdczh dj_djb.bdczh%type;

      begin

      select bdczh into v_bdczh from dj_djb where slbh =v_slbh;

      dbms_output.put_line(v_bdczh);

      end;

      复制代码

      4.2.2.参数名 OUT 数据类型;

      定义一个输出参数变量,用于从存储过程获取数据,即变量从存储过程中返回值给主程序。

      在调用存储过程时,主程序的实际参数只能是一个变量,而不能是常量或表达式。在存储过程中,参数变量只能被赋值而不能将其用于赋值,在存储过程中必须给输出变量至少赋值一次。

      ege:

      create or replace procedure p_test3 (v_slbh varchar2 default 201711010025,v_bdczh out varchar2)

      as

      begin

      select bdczh into v_bdczh from dj_djb where slbh=v_slbh;

      dbms_output.put_line(v_slbh||','||v_bdczh);

      end ;

      ....调用.......

      declare

      v_1 dj_djb.bdczh%type;

      begin

      p_test3(v_bdczh=>v_1);

      end;

      复制代码

      4.2.3.参数名 IN OUT 数据类型 DEFAULT 值;

      定义一个输入、输出参数变量,兼有以上两者的功能。在调用存储过程时,主程序的实际参数只能是一个变量,而不能是常量或表达式。DEFAULT 关键字为可选项,用来设定参数的默认值。在存储过程中,变量接收主程序传递的值,同时可以参加赋值运算,也可以对其进行赋值。在存储过程中必须给变量至少赋值一次。

      注:如果省略IN、OUT或IN OUT,则默认模式是IN。

      5.查看存储过程错误原因:

      select * from user_errors where name=upper(‘p_test1’);

      by wolihaito 2018.03.26

      复制代码(编辑:雷林鹏 来源:网络)

  • 相关阅读:
    LeetCode第[84]题(Java):Largest Rectangle in Histogram(最大的矩形柱状图)
    LeetCode第[79]题(Java):Word Search(矩阵单词搜索)
    LeetCode第[78]题(Java):Subsets(求子集)扩展——第[90]题:Subsets 2
    关于SpringMVC中两种映射器不能共存的解决
    LeetCode第[73]题(Java):Set Matrix Zeroes(矩阵置0)
    php分页的实现
    PHP编码规范
    PHP常用函数
    PHP配置文件详解php.ini
    面向对象编程——parent—this
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/9540728.html
Copyright © 2011-2022 走看看