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;
相关文档:
负载均衡是指连接的负载均衡。RAC
的负载均衡主要是指新会话连接到RAC数据库时,如何判定
这个新的连接要连到哪个节点进行工作。在RAC中,负载均衡分为两种,一种是基于客户端连接的,另外一种是基于服务器端的。
一、客户端负载均衡的配
置
1
、当前服务器中的数据库版本如下:
SQL> select * from v$version
; ......
转自: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客户端,挺麻烦的,一方面要带ORACLE得盘,另一方面,装这么大得东西也让人很不爽。Oracle从10g开始新出了一个Instant Client,是针对WINDOWS平台的,不用安装客户端就可以连接Oracle数据库。Instant Client是一个较为轻量级的客户包,实际是一个zip文件,40多M,不需要安装,直接解压缩,可以 ......
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
......
每天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 ......