我正在使用 NPoco ORM 并试图从 Oracle 函数中获取结果。我努力了:
public string GetData(int param1, int param2)
{
var command = "PKG_SOMEPACKAGE.SET_DATA( @p_param1, @p_param2);";
var sql = Sql.Builder.Append(command, new { p_param1 = 10, p_param2 = 20 });
string result = this.Db.ExecuteScalar<string>(sql);
return result;
}
但它不起作用并返回ORA-00900: invalid SQL statement
Oracle 函数类似于:
function SET_DATA
(
p_param1 IN NUMBER,
p_param2 IN NUMBER
) return varchar2 IS
BEGIN
IF some condition is true THEN
RETURN 'Y';
END IF;
-- some logic
RETURN 'N';
END;