WEB开发网
开发学院数据库Oracle 经验分享:Informix和Oracle存储过程的异同(一)... 阅读

经验分享:Informix和Oracle存储过程的异同(一)

 2008-10-25 12:57:39 来源:WEB开发网   
核心提示:在工作过程中涉及到过有时要进行INFORMIX和ORACLE之间的移植,有时应用需要既支持INFORMIX数据库又要支持ORACLE数据库,经验分享:Informix和Oracle存储过程的异同(一),如果应用程序涉及到存储过程的话,就需要既熟悉INFORMIX存储过程的写法,又需要熟悉ORACLE存储过程的写法,笔者

在工作过程中涉及到过有时要进行INFORMIX和ORACLE之间的移植,有时应用需要既支持INFORMIX数据库又要支持ORACLE数据库,如果应用程序涉及到存储过程的话,就需要既熟悉INFORMIX存储过程的写法,又需要熟悉ORACLE存储过程的写法。

笔者将在工作中总结的一些经验写出来与大家共享。

建立存储过程的语法:

一、Informix

create procedure proc_name( [....in_parameter_list])

returning out_para_list / out_result_set;

二、Oracle

create [or replace] procedure procedue_name
[ (arg1 [ {in | out | in out }] type
(argn [ {in | out | in out }] type,)]
{is | as} --代替DECLARE关键字
[ 变量定义区]
begin
end procedure_name;

三、几个简单的例子

1、没有参数也没有返回值

1)Informix

create procedure pNoParam()
begin
on exception
rollback work;
return;
end exception
begin work;
delete from t1;
delete from t2;
commit work;
end;
end procedure;

2)Oracle

create or replace procedure pNoParam
as
begin
delete from t1;
delete from t2;
commit;
exception
when others then
begin
rollback;
end;
end pNoParam;

2、有输入输出

往t1表中插入一条记录,返回值表示插入是否成功。

1)Informix

create procedure pNormalParam(f1 integer, f2 varchar(10))
returning integer;
begin
on exception
rollback work;
return -1;
end exception
begin work;
insert into t1 values(f1, f2);
commit work;
return 0;

1 2  下一页

Tags:经验 分享 Informix

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接