informix数据迁移至oracle的问题

来源:百度知道 编辑:UC知道 时间:2024/05/20 06:16:22
给了我一段SQL,说是当初informix建库的sql,里面都是存储过程,我在oracle下执行的时候报错,请问大家怎么办呢?
附上开头部分的代码:
grant dba to "admis2";
grant connect to "rhjk";
grant connect to "admis";

CREATE PROCEDURE "rhjk".dig1_rb_1_1() RETURNING INTEGER;
DEFINE jgcount INTEGER;
SELECT COUNT(*) INTO jgcount FROM sysa_dept_t;
RETURN jgcount;
END PROCEDURE;

CREATE PROCEDURE "rhjk".dkcl_2(htbh CHAR(13)) RETURNING DECIMAL, DATE;
DEFINE ll_ffje DECIMAL;
DEFINE rq DATE;
TRACE ON;
SELECT f114dkye, f114jsrq INTO ll_ffje, rq
FROM d114jsht WHERE f114htbh = htbh;
RETURN ll_ffje, rq;
END PROCEDURE;

CREATE PROCEDURE "rhjk".dkff_4(htbh CHAR(13)) RETURNING INTEGER;
DEFINE ls_count INTEGER;
TRACE ON;
SELECT COUNT(*) INTO ls_count FROM d61bz WHERE f61htbh = htbh;
RE

oracle的语法不是这样的,都要改。
要传值回来必须定义成function。

CREATE function "rhjk".dkff_4(htbh CHAR(13)) RETURN INTEGER is ls_count integer;
begin
SELECT COUNT(*) INTO ls_count FROM d61bz WHERE f61htbh = htbh;
RETURN ls_count;
END;