对于oracle 存储过程是很优秀的一种脚本语言。下面是一些整理:
一,Plsql 调试存储过程:
1、 在oracle的 配置和移植工具 àNET MANAGER中配置连接
2、 在plsql中新建SQL窗口,编写存储过程
3、 在plsql中新建测试窗口,在begin end之间调用
4、 查看编译错误:在命令窗口中show errors procedure procedure_name
或者 编辑的方式打开存储过程,在编译时会有错误提示
一,Plsql 调试存储过程:
1、 在oracle的 配置和移植工具 àNET MANAGER中配置连接
2、 在plsql中新建SQL窗口,编写存储过程
3、 在plsql中新建测试窗口,在begin end之间调用
4、 查看编译错误:在命令窗口中show errors procedure procedure_name
或者 编辑的方式打开存储过程,在编译时会有错误提示
二,oracle存储过程基本语法
1、 oracle存储过程结构:
CREATE OR REPLACE PROCEDURE 存储过程名
(
输入输出参数
)
IS
变量定义
BEGIN
代码;
END 存储过程名;
2、 if语句:
If 逻辑表达式 then
Begin
End;
End if;
If 逻辑表达式 then
Begin
End;
Else
Begin
End;
End if;
If 逻辑表达式 then
Begin
End;
Elseif 逻辑表达式 then
Begin
End;
Else
Begin
End;
End if;
3、 For循环
For in loop
…
End loop;
E.g:
CREATE OR REPLACE PROCEDURE TEST
is
BEGIN
for i in 1..100 LOOP
DBMS_OUTPUT.put_line(i);
end LOOP;
END TEST;
注:这里的i可以不用申明,并且在循环体中,i会自增
4、 while循环
While 条件语句 loop
Begin
End;
End LOOP;
E.g:
CREATE OR REPLACE PROCEDURE TEST
is
i int := 1;
BEGIN
while i < 100 LOOP
DBMS_OUTPUT.put_line(i);
i:=i+1;
end LOOP;
END TEST;
注:这里的i需要申明,并且循环体中,要对i进行改变
5、 游标的使用:
定义游标
打开游标
提取数据
关闭游标
E.g:
CREATE OR REPLACE PROCEDURE TEST
is
v_fid nvarchar2(80);
Cursor cur_test is
select fid from t_pm_user;--定义游标
BEGIN
open cur_test;--打开游标
if cur_test%notfound
then --判断游标中数据是否为空
rollback;
end if;
loop--循环游标
fetch
cur_test into v_fid;--提取游标数据
DBMS_OUTPUT.put_line(v_fid);
EXIT
WHEN cur_test%NOTFOUND; --游标数据为空后退出循环
end loop;
close cur_test;--关闭游标
END TEST;
三,oracle与sqlserver部分差异
1、 常用函数差异