zoukankan      html  css  js  c++  java
  • ORACLE存储过程的创建和执行的简单示例和一些注意点

    此示例的主要目的主要是为了了解在PL/SQL环境下怎么创建和执行存储过程。

    存储过程所涉及的DataTable:

    第一步:创建游标变量 

              游标是ORACLE系统在内存中开辟的一个工作区,主要用来存储SELECT的数据的。通俗的讲就是用来存储查询数据的一个临时的变量。

        游标的创建:

    1 CREATE OR REPLACE PACKAGE pkg_query AS TYPE cur_query IS REF CURSOR;
    2 END pkg_query;
    View Code

     第二步:存储过程的创建

     1 create or replace procedure PRO_TestDemo(p_name      in NVARCHAR2,
     2                                          p_datacount out VARCHAR2,
     3                                          p_cur       out pkg_query.cur_query) is
     4   v_sql       VARCHAR2(1000) := ''; --用来存储SQL语句的变量
     5   v_datacount number := 0; --用来存放受影响的条数
     6 begin
     7   IF p_name IS NOT NULL OR p_name <> '' THEN
     8     v_sql := 'SELECT  COUNT(*) FROM TEST1 a WHERE a.name=' || p_name;
     9     EXECUTE IMMEDIATE v_sql
    10       INTO v_datacount;
    11     IF (v_datacount > 0) THEN   --这边的判断是为了避免不必要的语句执行
    12       v_sql := 'SELECT  * FROM TEST1 a WHERE a.name=' || p_name;
    13       OPEN p_cur FOR v_sql;
    14     END IF;
    15   END IF;
    16 end PRO_TestDemo;
    View Code

     创建的时候涉及了一些PL/SQL的基本语法。

    如: := 为赋值,||为拼接。

    in 是输入参数,out 是输出参数。

    编程规范:参数尽量使用p_变量名,变量使用v_变量名。

    第三步:测试执行存储过程

              PL/SQL内置了测试存储过程的快捷方式。右键待测试的存储过程->测试

              出现如下所示的界面:

    如果是字符型数据字段输入的必须是 ‘ data’,否则如果执行到SELECT 就会报错;执行完点击p_cur最右边的红色方框就可以看出输出参数的数据了。

    PL/SQL本身也是有调试功能的。

  • 相关阅读:
    grep命令详解
    Git命令详解(一)-个人使用
    android intent和intent action大全
    android 监控EditText的变化
    第86章、系统服务之TELEPHONY_SERVICE(从零开始学Android)
    android中getSystemService详解
    关于android各种双卡手机获取imei,imsi的处置(mtk,展讯,高通等)
    Android 获取运营商信息(完整版)-解决高通,MTK等双卡问题
    Android 移动缩放的ImageView
    Android 读写SD卡的文件
  • 原文地址:https://www.cnblogs.com/cherish836138981/p/6599937.html
Copyright © 2011-2022 走看看