易截截图软件、单文件、免安装、纯绿色、仅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 spool 用法小结

转自:http://wallimn.javaeye.com/blog/472182
对于SPOOL
数据的SQL,最好要自己定义格式,以方便程序直接导入,SQL语句
如:
select
taskindex||'|'||commonindex||'|'||tasktype||'|'||to_number(to_char(sysdate,'YYYYMMDD'))
from ssrv_sendsms_task;
spool
常用的设置
set colsep' ';    //域输出分隔符 ......

Oracle备份

备份的方法
    ORACLE数据库有三种标准的备份。导出/导入(EXPORT/IMPORT) 、冷备份、热备份。
    导出备份是一种逻辑备份,这种方法包括读取一系列的数据库日志,并写入文件中,这些日志的读取与其所处位置无关。
    冷备份和热备份是物理备份(也称低级备份),它涉及到 ......

oracle JOB

每天1点执行的oracle JOB样例
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X,
what => 'ETL_RUN_D_Date;',
next_date => to_date('2009-08-26 01:00:00','yyyy-mm-dd hh24:mi:ss'),
interval => 'trunc(sysdate)+1+1/24',
no_parse => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number ......

Oracle免费的数据库开发工具

    之前开发Oracle一般是使用PL/SQL Developer或者是TOAD,由于现在公司对版权问题看得比较重,所以我也只能对这些熟悉的开发工具说声拜拜了!在Oracle官方网站站看到了Oracle已经有了一个Oracle SQL Developer,并且是免费的!
以下是Oracle官方对Oracle SQL Developer的介绍
 程序代码
orac ......

Oracle DBLink的使用


在做应用系统开发时,我们会遇到一个问题,就是我们应用系统有些数据需要从其他数据库的某一张表拿到数据,那我们应该怎么办?比如:子公司的销售系统需要从广州总部人力资源管理系统的数据库当中获取最新的用户信息,那我们应该怎么实现?实现现在的做法有很多,可以通过WebService方式获取,但开发成本还是比较高,假设 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号