oracle 存储过程的基本语法
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1,col2 into 变量1,变量2 from typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxxx;
END;
...
3.IF 判断
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while 循环
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.变量赋值
V_TEST := 123;
6.用for in 使用cursor
...
IS
CURSOR cur IS SELECT * from xxx;
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名1+cur_result.列名2
END;
END LOOP;
END;
7.带参数的cursor
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME from USER WHERE TYPEID=C_ID;
OPEN C_USER(变量值);
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;
8.用pl/sql developer debug
连接数据库后建立一个Test WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
相关文档:
在启动oracle服务时,首先会在服务端找
1.spfile<sid>.ora
用于启动例程,如果找不到spfile<sid>.ora,则使用服务端缺省的
2.spfile
来启动,如果缺省的spfile也找不到,则使用
3.init<sid>.ora
来启动例程,最后则是使用缺省的
4.pfile
.当然你也可以指定pfile来覆盖缺省spfile启动例程,或通过spfile= ......
外键约束保证参照完整性。外键约束限定了一个列的取值范围。一个例子就是限定州名缩写在一个有限值集合中,这个值集合是另外一个控制结构——一张父表
下面我们创建一张参照表,它提供了完整的州缩写列表,然后使用参照完整性确保学生们有正确的州缩写。第一张表是州参照表,State作为主键
......
停止数据库,停止服务。
然后在运行升级程序时出现Error:OUI-10133:Invalid stageing area. there
are no top level components
错误,半天不得其解。终于发现是因为升级包解压不完全造成的。重新复制一份完整解压过的,升级。OK. ......
景:在windows xp server上安装了Oracle 9.2.0.1,现使用p4547809_92080_WINNT.zip将其升级到9.2.0.8版本,并打上最
新的安全补丁April 2008版。
1.升级oracle(administrator用户权限)(下载p4547809_92080_WINNT.zip网址:
ftp://updates.oracle.com/4547809/p4547809_92080_WINNT.zip)
(1)、压缩包名称为 p45478 ......
--锁的概念
锁出现在数据共享的场合,用来保证数据的一致性。当多个会话同时修改一个表时,需要对数据进行相应的锁定。
-- 锁的模式,有以下几种模式
0:none
1:null 空
2:Row-S 行共享(RS):共享表锁,sub share
3:Row-X 行独占(RX):用于行的修改,sub ex ......