如何使用 PetaPoco 从 Oracle 调用存储过程

本文关键字:调用 存储过程 Oracle 何使用 PetaPoco | 更新日期: 2023-09-27 18:30:40

我在 Oracle 中有存储过程

CREATE OR REPLACE PROCEDURE proc1 (p_param1 INTEGER, p_param2 CHAR, p_param3 INTEGER)
AS
BEGIN
... 
END;

我在Oracle SQL Developer中使用以下语句调用它:

EXECUTE proc1(2013, 1, 3);

我尝试从Visual Studio用C#调用它,但它不起作用

_db.Execute("EXEC proc1 (2013, 1, 3)");

如何在 C# 中正确调用它?

谢谢。

如何使用 PetaPoco 从 Oracle 调用存储过程

EXEC是SQL*Plus的命令。尝试在没有EXEC或匿名 PL/SQL 块的情况下使用命令:

_db.Execute("proc1 (2013, 1, 3)");

_db.Execute("begin proc1 (2013, 1, 3); end;");

此外,在这种情况下,1可以自动转换为 CHAR,在其他情况下,您需要使用引号''

_db.Execute("begin proc1 (2013, 'abc', 3); end;");