首页 > 代码库 > ORACLE存储过程的创建和执行的简单示例和一些注意点

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

 

ORACLE存储过程的创建和执行的简单示例和一些注意点