易截截图软件、单文件、免安装、纯绿色、仅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分析函数参考手册

转至(http://xsb.itpub.net/post/419/33028)
22/06/2005 12:22 FP
Oracle从8.1.6开始提供分析函数,分析函数用于计算基于
组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。
下面例子中使用的表来自Oracle自带的HR用户下的表,如果
没有安装该用户,可以在SYS用户下运行 ......

oracle SQL分类

ORACLE 中SQL 语句大致可以分为4大类
1.DQL(data quary language 数据查询语言)
数据查询语言DQL基本结构是由SELECT子句,from子句,WHERE子句组成
2.DDL(data definition language 数据定义语言)
CREATE
ALTER
DROP
RENAME
TRUNCATE
3.DML(data manipulation language 数据操纵语言)
INSERT
UPDATE ......

Oracle学习笔记之表空间等概念及用户权限


   Oracle数据库只是一些文件组成,Oracle实例是指有自己的系统全局区和相关数据库文件的Oracle服务器进程集。新装的Oracle数据库管理系统有一个预装的数据库(通常叫ORCL),同时会启动一个实例,以后的数据库连接,都默认是通过这个实例连接到该数据库。
        可以新建数据库, ......

查询oracle表空间

dc-test2<oracle>sqlplus /nolog
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Feb 25 19:23:35 2010
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
SQL> desc v$datafile;
SP2-0640: Not connected
SP2-0641: "DESCRIBE" requires connection to server
SQL> conn / a ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号