易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle学习笔记之存储过程与函数

        PL/SQL是对Oracle数据库进行操作的一种过程性编程语言,它可以在SQL * plus中执行,也可以嵌入到JAVA或者C++中。其基本组成为:
DECLARE
...
BEGIN
...
EXCEPTION
...
END
可用来将对数据库的各种操作封装为一个代码块,为了加强可重用性,还可将重复性代码写成函数与存储过程,用参数表示变化的部分。
        函数与存储过程的区别是,函数返回一个值,而存储过程没有返回值,不过存储过程也可通过指定参数的IN|OUT形式来达到将处理结果读出来的目的。
      
1.存储过程创建示例:
CREATE OR REPLACE PROCEDURE callme(p1 number,p2 varchar2,p3 varchar2) AS
BEGIN
 INSERT INTO test values(p1,p2);
END callme;    
2.存储过程使用示例:
DECLARE
 val1 number:=16;
 val2 varchar2(20):='过程插入的新部门2';
 val3 varchar2(12);
BEGIN
 callme(val1,val2,val3);
END;
3.函数创建示例:
CREATE OR REPLACE FUNCTION CountRows(p1 number) RETURN NUMBER AS
 v_number NUMBER;
BEGIN
 SELECT count(*) INTO v_number from test WHERE id > p1;
 RETURN v_number;
END;
4.函数调用示例:
set serveroutput on /*只有设置了这行,才会显示输出结果*/
DECLARE
 v_number NUMBER;
 p_minid NUMBER;
BEGIN
 p_minid:=0;
 v_number:=CountRows(p_minid);
 DBMS_OUTPUT.PUT_LINE('部门号大于'||p_minid||'的部门有'||v_number||'个');
END;


相关文档:

Oracle中把yyyy mm dd转成yyyy年mm月dd日


SQL> select   to_char(sysdate,'yyyy')||'年'||to_char(sysdate,'mm')||'月'||to_char(sysdate,'dd')||'日'  from   dual;
TO_CHAR(SYSDATE,'YYYY')||'年'|
或者使用双引号
select to_char(add_months(trunc(sysdate),-1),'yyyy"年"mm"月"') from dual    取上个月份
......

oracle mutex

An introduction to Mutexes in 10gR2
By Connie Green, Kumar Rajamani
from meetings with: Kumar Rajamani, Russell Green, Saureen Shah, Cecilia Gervasio and Connie Green
Introduction
This paper is intended as an introduction to mutexes.  It describes new concepts associated with mutexes, when ......

oracle IMP 命令详解


原文地址:http://www.bokee.net/bloggermodule/blog_viewblog.do?id=465310
Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件。imp使用的基本格式:imp[username[/password[@service]]],以下例举imp常用用法。
 
1. 获取帮助
imp help=y
2. 导入一个完整数据库
i ......

Oracle数据库的导入导出

oracle数据库的导入与导出是做为一名实施工程师或维护工程师每经常要做的工作。当数据库结构需要做变化的时候,我们一般先将数据做备份,此时我们需要使用到Oracle的导出功能。当我们在做导入的时候出错或者我们的数据遭到错误删除的时候,我们需要恢复数据库,那我们需要使用到导入的功能。现在也有很多功能能够帮我们做到 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号