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;
相关文档:
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 取上个月份
......
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 ......
原文地址: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的导出功能。当我们在做导入的时候出错或者我们的数据遭到错误删除的时候,我们需要恢复数据库,那我们需要使用到导入的功能。现在也有很多功能能够帮我们做到 ......