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;