具有布尔返回值的pl / sql函数的OracleType?

时间:2009-06-09 11:51:37

标签: c# oracle plsql return-value

我正在开发这个应用程序,我必须调用一个用PL / SQL编写的函数来返回一个布尔值。据我所知,bool不是SQL中的类型,但在PL / SQL中,函数的返回类型是什么?

command.Parameters.Add(“P_RETURN”,OracleType。???);

(对于记录:我无法控制PL / SQL的结尾,所以我无法重写该函数)

2 个答案:

答案 0 :(得分:4)

您可以使用调用函数的结果调用SYS.diutil.bool_to_int函数。例如:

SYS.diutil.bool_to_int(your_function(...))

来自文档:

  

bool_to_int:将3值BOOLEAN转换为使用数量       IN发送BOOLEAN参数/ RETURN VALUES       BETWEEN pls v1(client)和pls v2。自从sqlnet       没有BOOLEAN绑定变量TYPE,我们编码       booleans AS false = 0,true = 1,NULL = NULL FOR       网络转移号码

答案 1 :(得分:0)

您必须将PL / SQL仅BOOLEAN类型转换为SQL支持的类型。我知道,这很痛苦:欢迎来到Oracle世界。 Here is Steven Feuerstein reusable way to deal with it

作为旁注,BOOLEANs are considered useless in SQL(无论如何都是Oracle)。