0

SQL Server 存储过程:

CREATE PROC proc1
AS
SELECT ename FROM employee

Oracle 服务器存储过程:

CREATE OR REPLACE PROCEDURE proc1
(
cv_1 IN OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN cv_1 FOR
SELECT ename
FROM employee ;
END;

是否可以在 Oracle 和 SQL Server 中使用相同数量的参数和相同的支持数据类型编写此过程?

如果可能怎么办?那么如何从 oracle 和 SQL Server 调用呢?

4

1 回答 1

0

我们一直这样做,而且效果很好,但是我们的系统基于 ODBC,使用 ODBC“调用”语法来调用过程。我相信此功能已添加到 Oracle 10 左右的 Oracle 驱动程序中。

例如:

{CALL proc1} 或者如果 proc1 有非引用游标参数 {CALL proc1(parm1,parm2,parm3)}

Oracle 驱动程序自动执行将引用游标转换为结果集所需的操作。我相信存在/存在排序依赖性,因为游标参数需要放在任何正常输入参数之后的最后,而不是您可以使用相同的代码返回结果集(使用完全相同的查询字符串来调用 SQL 之间的过程服务器和甲骨文)

于 2013-04-22T22:52:37.757 回答